• Home
  • Raw
  • Download

Lines Matching full:iface

163 	struct netlbl_unlhsh_iface *iface;  in netlbl_unlhsh_free_iface()  local
171 iface = container_of(entry, struct netlbl_unlhsh_iface, rcu); in netlbl_unlhsh_free_iface()
176 netlbl_af4list_foreach_safe(iter4, tmp4, &iface->addr4_list) { in netlbl_unlhsh_free_iface()
181 netlbl_af6list_foreach_safe(iter6, tmp6, &iface->addr6_list) { in netlbl_unlhsh_free_iface()
186 kfree(iface); in netlbl_unlhsh_free_iface()
233 * @iface: the associated interface entry
240 * interface entry specified by @iface. On success zero is returned, otherwise
244 static int netlbl_unlhsh_add_addr4(struct netlbl_unlhsh_iface *iface, in netlbl_unlhsh_add_addr4() argument
262 ret_val = netlbl_af4list_add(&entry->list, &iface->addr4_list); in netlbl_unlhsh_add_addr4()
273 * @iface: the associated interface entry
280 * interface entry specified by @iface. On success zero is returned, otherwise
284 static int netlbl_unlhsh_add_addr6(struct netlbl_unlhsh_iface *iface, in netlbl_unlhsh_add_addr6() argument
306 ret_val = netlbl_af6list_add(&entry->list, &iface->addr6_list); in netlbl_unlhsh_add_addr6()
328 struct netlbl_unlhsh_iface *iface; in netlbl_unlhsh_add_iface() local
330 iface = kzalloc(sizeof(*iface), GFP_ATOMIC); in netlbl_unlhsh_add_iface()
331 if (iface == NULL) in netlbl_unlhsh_add_iface()
334 iface->ifindex = ifindex; in netlbl_unlhsh_add_iface()
335 INIT_LIST_HEAD(&iface->addr4_list); in netlbl_unlhsh_add_iface()
336 INIT_LIST_HEAD(&iface->addr6_list); in netlbl_unlhsh_add_iface()
337 iface->valid = 1; in netlbl_unlhsh_add_iface()
344 list_add_tail_rcu(&iface->list, in netlbl_unlhsh_add_iface()
347 INIT_LIST_HEAD(&iface->list); in netlbl_unlhsh_add_iface()
350 rcu_assign_pointer(netlbl_unlhsh_def, iface); in netlbl_unlhsh_add_iface()
354 return iface; in netlbl_unlhsh_add_iface()
358 kfree(iface); in netlbl_unlhsh_add_iface()
388 struct netlbl_unlhsh_iface *iface; in netlbl_unlhsh_add() local
405 iface = netlbl_unlhsh_search_iface(ifindex); in netlbl_unlhsh_add()
408 iface = rcu_dereference(netlbl_unlhsh_def); in netlbl_unlhsh_add()
410 if (iface == NULL) { in netlbl_unlhsh_add()
411 iface = netlbl_unlhsh_add_iface(ifindex); in netlbl_unlhsh_add()
412 if (iface == NULL) { in netlbl_unlhsh_add()
424 ret_val = netlbl_unlhsh_add_addr4(iface, addr4, mask4, secid); in netlbl_unlhsh_add()
437 ret_val = netlbl_unlhsh_add_addr6(iface, addr6, mask6, secid); in netlbl_unlhsh_add()
469 * @iface: interface entry
480 struct netlbl_unlhsh_iface *iface, in netlbl_unlhsh_remove_addr4() argument
494 &iface->addr4_list); in netlbl_unlhsh_remove_addr4()
504 dev = dev_get_by_index(net, iface->ifindex); in netlbl_unlhsh_remove_addr4()
531 * @iface: interface entry
542 struct netlbl_unlhsh_iface *iface, in netlbl_unlhsh_remove_addr6() argument
555 list_entry = netlbl_af6list_remove(addr, mask, &iface->addr6_list); in netlbl_unlhsh_remove_addr6()
565 dev = dev_get_by_index(net, iface->ifindex); in netlbl_unlhsh_remove_addr6()
591 * @iface: the interface entry
599 static void netlbl_unlhsh_condremove_iface(struct netlbl_unlhsh_iface *iface) in netlbl_unlhsh_condremove_iface() argument
607 netlbl_af4list_foreach_rcu(iter4, &iface->addr4_list) in netlbl_unlhsh_condremove_iface()
610 netlbl_af6list_foreach_rcu(iter6, &iface->addr6_list) in netlbl_unlhsh_condremove_iface()
613 iface->valid = 0; in netlbl_unlhsh_condremove_iface()
614 if (iface->ifindex > 0) in netlbl_unlhsh_condremove_iface()
615 list_del_rcu(&iface->list); in netlbl_unlhsh_condremove_iface()
620 call_rcu(&iface->rcu, netlbl_unlhsh_free_iface); in netlbl_unlhsh_condremove_iface()
650 struct netlbl_unlhsh_iface *iface; in netlbl_unlhsh_remove() local
663 iface = netlbl_unlhsh_search_iface(dev->ifindex); in netlbl_unlhsh_remove()
665 iface = rcu_dereference(netlbl_unlhsh_def); in netlbl_unlhsh_remove()
666 if (iface == NULL) { in netlbl_unlhsh_remove()
673 iface, addr, mask, in netlbl_unlhsh_remove()
679 iface, addr, mask, in netlbl_unlhsh_remove()
687 netlbl_unlhsh_condremove_iface(iface); in netlbl_unlhsh_remove()
716 struct netlbl_unlhsh_iface *iface = NULL; in netlbl_unlhsh_netdev_handler() local
724 iface = netlbl_unlhsh_search_iface(dev->ifindex); in netlbl_unlhsh_netdev_handler()
725 if (iface != NULL && iface->valid) { in netlbl_unlhsh_netdev_handler()
726 iface->valid = 0; in netlbl_unlhsh_netdev_handler()
727 list_del_rcu(&iface->list); in netlbl_unlhsh_netdev_handler()
729 iface = NULL; in netlbl_unlhsh_netdev_handler()
733 if (iface != NULL) in netlbl_unlhsh_netdev_handler()
734 call_rcu(&iface->rcu, netlbl_unlhsh_free_iface); in netlbl_unlhsh_netdev_handler()
1065 * @iface: the interface entry
1079 const struct netlbl_unlhsh_iface *iface, in netlbl_unlabel_staticlist_gen() argument
1098 if (iface->ifindex > 0) { in netlbl_unlabel_staticlist_gen()
1099 dev = dev_get_by_index(&init_net, iface->ifindex); in netlbl_unlabel_staticlist_gen()
1184 struct netlbl_unlhsh_iface *iface; in netlbl_unlabel_staticlist() local
1200 list_for_each_entry_rcu(iface, iter_list, list) { in netlbl_unlabel_staticlist()
1201 if (!iface->valid || in netlbl_unlabel_staticlist()
1205 &iface->addr4_list) { in netlbl_unlabel_staticlist()
1210 iface, in netlbl_unlabel_staticlist()
1221 &iface->addr6_list) { in netlbl_unlabel_staticlist()
1226 iface, in netlbl_unlabel_staticlist()
1263 struct netlbl_unlhsh_iface *iface; in netlbl_unlabel_staticlistdef() local
1275 iface = rcu_dereference(netlbl_unlhsh_def); in netlbl_unlabel_staticlistdef()
1276 if (iface == NULL || !iface->valid) in netlbl_unlabel_staticlistdef()
1279 netlbl_af4list_foreach_rcu(addr4, &iface->addr4_list) { in netlbl_unlabel_staticlistdef()
1283 iface, in netlbl_unlabel_staticlistdef()
1292 netlbl_af6list_foreach_rcu(addr6, &iface->addr6_list) { in netlbl_unlabel_staticlistdef()
1296 iface, in netlbl_unlabel_staticlistdef()
1468 struct netlbl_unlhsh_iface *iface; in netlbl_unlabel_getattr() local
1471 iface = netlbl_unlhsh_search_iface(skb->skb_iif); in netlbl_unlabel_getattr()
1472 if (iface == NULL) in netlbl_unlabel_getattr()
1473 iface = rcu_dereference(netlbl_unlhsh_def); in netlbl_unlabel_getattr()
1474 if (iface == NULL || !iface->valid) in netlbl_unlabel_getattr()
1493 &iface->addr4_list); in netlbl_unlabel_getattr()
1506 &iface->addr6_list); in netlbl_unlabel_getattr()