Lines Matching refs:prl
286 for (prl = rcu_dereference(start); \
287 prl; \
288 prl = rcu_dereference(prl->next))
293 struct ip_tunnel_prl_entry *prl; in __ipip6_tunnel_locate_prl() local
295 for_each_prl_rcu(t->prl) in __ipip6_tunnel_locate_prl()
296 if (prl->addr == addr) in __ipip6_tunnel_locate_prl()
298 return prl; in __ipip6_tunnel_locate_prl()
306 struct ip_tunnel_prl_entry *prl; in ipip6_tunnel_get_prl() local
345 for_each_prl_rcu(t->prl) { in ipip6_tunnel_get_prl()
348 if (kprl.addr != htonl(INADDR_ANY) && prl->addr != kprl.addr) in ipip6_tunnel_get_prl()
350 kp[c].addr = prl->addr; in ipip6_tunnel_get_prl()
351 kp[c].flags = prl->flags; in ipip6_tunnel_get_prl()
380 for (p = rtnl_dereference(t->prl); p; p = rtnl_dereference(p->next)) { in ipip6_tunnel_add_prl()
402 p->next = t->prl; in ipip6_tunnel_add_prl()
406 rcu_assign_pointer(t->prl, p); in ipip6_tunnel_add_prl()
433 for (p = &t->prl; in ipip6_tunnel_del_prl()
445 x = rtnl_dereference(t->prl); in ipip6_tunnel_del_prl()
449 t->prl = NULL; in ipip6_tunnel_del_prl()
460 struct ip_tunnel_prl prl; in ipip6_tunnel_prl_ctl() local
468 if (copy_from_user(&prl, data, sizeof(prl))) in ipip6_tunnel_prl_ctl()
473 err = ipip6_tunnel_del_prl(t, &prl); in ipip6_tunnel_prl_ctl()
477 err = ipip6_tunnel_add_prl(t, &prl, cmd == SIOCCHGPRL); in ipip6_tunnel_prl_ctl()