| Function report | 
| Source Code: kernel\bpf\devmap.c | Create Date:2022-07-28 13:22:33 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:__dev_map_hash_update_elem
Proto:static int __dev_map_hash_update_elem(struct net *net, struct bpf_map *map, void *key, void *value, u64 map_flags)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct net * | net | |
| struct bpf_map * | map | |
| void * | key | |
| void * | value | |
| u64 | map_flags | 
| 674 | If Value for the false possibility is greater at compile time(map_flags > update existing element || !ifindex) Then Return -EINVAL | 
| 677 | spin_lock_irqsave( & index_lock, flags) | 
| 679 | old_dev = __dev_map_hash_lookup_elem(map, idx) | 
| 680 | If old_dev && map_flags & create new element if it didn't exist Then Go to out_err | 
| 689 | If old_dev Then | 
| 691 | Else | 
| 692 | If items >= max_entries Then | 
| 693 | spin_unlock_irqrestore( & index_lock, flags) | 
| 695 | Return -E2BIG | 
| 697 | items++ | 
| 702 | spin_unlock_irqrestore( & index_lock, flags) | 
| 707 | Return 0 | 
| 709 | out_err : | 
| 710 | spin_unlock_irqrestore( & index_lock, flags) | 
| 711 | Return err | 
| Name | Describe | 
|---|---|
| dev_map_hash_update_elem | 
| Source code conversion tool public plug-in interface | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |