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
343 for_each_prl_rcu(t->prl) { in ipip6_tunnel_get_prl()
346 if (kprl.addr != htonl(INADDR_ANY) && prl->addr != kprl.addr) in ipip6_tunnel_get_prl()
348 kp[c].addr = prl->addr; in ipip6_tunnel_get_prl()
349 kp[c].flags = prl->flags; in ipip6_tunnel_get_prl()
378 for (p = rtnl_dereference(t->prl); p; p = rtnl_dereference(p->next)) { in ipip6_tunnel_add_prl()
400 p->next = t->prl; in ipip6_tunnel_add_prl()
404 rcu_assign_pointer(t->prl, p); in ipip6_tunnel_add_prl()
431 for (p = &t->prl; in ipip6_tunnel_del_prl()
443 x = rtnl_dereference(t->prl); in ipip6_tunnel_del_prl()
447 t->prl = NULL; in ipip6_tunnel_del_prl()
458 struct ip_tunnel_prl prl; in ipip6_tunnel_prl_ctl() local
466 if (copy_from_user(&prl, data, sizeof(prl))) in ipip6_tunnel_prl_ctl()
471 err = ipip6_tunnel_del_prl(t, &prl); in ipip6_tunnel_prl_ctl()
475 err = ipip6_tunnel_add_prl(t, &prl, cmd == SIOCCHGPRL); in ipip6_tunnel_prl_ctl()