Lines Matching refs:prl
283 for (prl = rcu_dereference(start); \
284 prl; \
285 prl = rcu_dereference(prl->next))
290 struct ip_tunnel_prl_entry *prl; in __ipip6_tunnel_locate_prl() local
292 for_each_prl_rcu(t->prl) in __ipip6_tunnel_locate_prl()
293 if (prl->addr == addr) in __ipip6_tunnel_locate_prl()
295 return prl; in __ipip6_tunnel_locate_prl()
304 struct ip_tunnel_prl_entry *prl; in ipip6_tunnel_get_prl() local
340 for_each_prl_rcu(t->prl) { in ipip6_tunnel_get_prl()
343 if (kprl.addr != htonl(INADDR_ANY) && prl->addr != kprl.addr) in ipip6_tunnel_get_prl()
345 kp[c].addr = prl->addr; in ipip6_tunnel_get_prl()
346 kp[c].flags = prl->flags; in ipip6_tunnel_get_prl()
375 for (p = rtnl_dereference(t->prl); p; p = rtnl_dereference(p->next)) { in ipip6_tunnel_add_prl()
397 p->next = t->prl; in ipip6_tunnel_add_prl()
401 rcu_assign_pointer(t->prl, p); in ipip6_tunnel_add_prl()
428 for (p = &t->prl; in ipip6_tunnel_del_prl()
440 x = rtnl_dereference(t->prl); in ipip6_tunnel_del_prl()
444 t->prl = NULL; in ipip6_tunnel_del_prl()
455 struct ip_tunnel_prl prl; in ipip6_tunnel_prl_ctl() local
463 if (copy_from_user(&prl, ifr->ifr_ifru.ifru_data, sizeof(prl))) in ipip6_tunnel_prl_ctl()
468 err = ipip6_tunnel_del_prl(t, &prl); in ipip6_tunnel_prl_ctl()
472 err = ipip6_tunnel_add_prl(t, &prl, cmd == SIOCCHGPRL); in ipip6_tunnel_prl_ctl()