Lines Matching defs:vmap

108 	struct vrf_map vmap;
171 return &nn_vrf->vmap;
217 static struct vrf_map_elem *vrf_map_lookup_elem(struct vrf_map *vmap,
224 hash_for_each_possible(vmap->ht, me, hnode, key) {
232 static void vrf_map_add_elem(struct vrf_map *vmap, struct vrf_map_elem *me)
238 hash_add(vmap->ht, &me->hnode, key);
246 static void vrf_map_lock(struct vrf_map *vmap) __acquires(&vmap->vmap_lock)
248 spin_lock(&vmap->vmap_lock);
251 static void vrf_map_unlock(struct vrf_map *vmap) __releases(&vmap->vmap_lock)
253 spin_unlock(&vmap->vmap_lock);
260 struct vrf_map *vmap = netns_vrf_map_by_dev(dev);
277 vrf_map_lock(vmap);
279 me = vrf_map_lookup_elem(vmap, table_id);
282 vrf_map_add_elem(vmap, me);
290 if (vmap->strict_mode) {
300 ++vmap->shared_tables;
307 vrf_map_unlock(vmap);
319 struct vrf_map *vmap = netns_vrf_map_by_dev(dev);
325 vrf_map_lock(vmap);
327 me = vrf_map_lookup_elem(vmap, table_id);
335 --vmap->shared_tables;
344 vrf_map_unlock(vmap);
350 struct vrf_map *vmap = netns_vrf_map(net);
354 vrf_map_lock(vmap);
356 if (!vmap->strict_mode) {
361 me = vrf_map_lookup_elem(vmap, table_id);
370 vrf_map_unlock(vmap);
1854 static int vrf_map_init(struct vrf_map *vmap)
1856 spin_lock_init(&vmap->vmap_lock);
1857 hash_init(vmap->ht);
1859 vmap->strict_mode = false;
1865 static bool vrf_strict_mode(struct vrf_map *vmap)
1869 vrf_map_lock(vmap);
1870 strict_mode = vmap->strict_mode;
1871 vrf_map_unlock(vmap);
1876 static int vrf_strict_mode_change(struct vrf_map *vmap, bool new_mode)
1881 vrf_map_lock(vmap);
1883 cur_mode = &vmap->strict_mode;
1891 if (vmap->shared_tables) {
1906 vrf_map_unlock(vmap);
1915 struct vrf_map *vmap = netns_vrf_map(net);
1928 proc_strict_mode = vrf_strict_mode(vmap);
1933 ret = vrf_strict_mode_change(vmap, (bool)proc_strict_mode);
1998 vrf_map_init(&nn_vrf->vmap);