Lines Matching refs:sfl
69 #define for_each_sk_fl_rcu(np, sfl) \ argument
70 for (sfl = rcu_dereference_bh(np->ipv6_fl_list); \
71 sfl != NULL; \
72 sfl = rcu_dereference_bh(sfl->next))
243 struct ipv6_fl_socklist *sfl; in fl6_sock_lookup() local
249 for_each_sk_fl_rcu(np, sfl) { in fl6_sock_lookup()
250 struct ip6_flowlabel *fl = sfl->fl; in fl6_sock_lookup()
266 struct ipv6_fl_socklist *sfl; in fl6_free_socklist() local
272 while ((sfl = rcu_dereference_protected(np->ipv6_fl_list, in fl6_free_socklist()
274 np->ipv6_fl_list = sfl->next; in fl6_free_socklist()
277 fl_release(sfl->fl); in fl6_free_socklist()
278 kfree_rcu(sfl, rcu); in fl6_free_socklist()
445 struct ipv6_fl_socklist *sfl; in mem_check() local
453 for_each_sk_fl_rcu(np, sfl) in mem_check()
466 static inline void fl_link(struct ipv6_pinfo *np, struct ipv6_fl_socklist *sfl, in fl_link() argument
470 sfl->fl = fl; in fl_link()
471 sfl->next = np->ipv6_fl_list; in fl_link()
472 rcu_assign_pointer(np->ipv6_fl_list, sfl); in fl_link()
480 struct ipv6_fl_socklist *sfl; in ipv6_flowlabel_opt_get() local
494 for_each_sk_fl_rcu(np, sfl) { in ipv6_flowlabel_opt_get()
495 if (sfl->fl->label == (np->flow_label & IPV6_FLOWLABEL_MASK)) { in ipv6_flowlabel_opt_get()
497 freq->flr_label = sfl->fl->label; in ipv6_flowlabel_opt_get()
498 freq->flr_dst = sfl->fl->dst; in ipv6_flowlabel_opt_get()
499 freq->flr_share = sfl->fl->share; in ipv6_flowlabel_opt_get()
500 freq->flr_expires = (sfl->fl->expires - jiffies) / HZ; in ipv6_flowlabel_opt_get()
501 freq->flr_linger = sfl->fl->linger / HZ; in ipv6_flowlabel_opt_get()
520 struct ipv6_fl_socklist *sfl; in ipv6_flowlabel_opt() local
544 (sfl = rcu_dereference_protected(*sflp, in ipv6_flowlabel_opt()
546 sflp = &sfl->next) { in ipv6_flowlabel_opt()
547 if (sfl->fl->label == freq.flr_label) { in ipv6_flowlabel_opt()
550 *sflp = sfl->next; in ipv6_flowlabel_opt()
552 fl_release(sfl->fl); in ipv6_flowlabel_opt()
553 kfree_rcu(sfl, rcu); in ipv6_flowlabel_opt()
562 for_each_sk_fl_rcu(np, sfl) { in ipv6_flowlabel_opt()
563 if (sfl->fl->label == freq.flr_label) { in ipv6_flowlabel_opt()
564 err = fl6_renew(sfl->fl, freq.flr_linger, freq.flr_expires); in ipv6_flowlabel_opt()
612 for_each_sk_fl_rcu(np, sfl) { in ipv6_flowlabel_opt()
613 if (sfl->fl->label == freq.flr_label) { in ipv6_flowlabel_opt()
618 fl1 = sfl->fl; in ipv6_flowlabel_opt()