Lines Matching defs:label
74 static inline struct ip6_flowlabel *__fl_lookup(struct net *net, __be32 label)
78 for_each_fl_rcu(FL_HASH(label), fl) {
79 if (fl->label == label && net_eq(fl->fl_net, net))
85 static struct ip6_flowlabel *fl_lookup(struct net *net, __be32 label)
90 fl = __fl_lookup(net, label);
214 struct ip6_flowlabel *fl, __be32 label)
218 fl->label = label & IPV6_FLOWLABEL_MASK;
221 if (label == 0) {
223 fl->label = htonl(prandom_u32())&IPV6_FLOWLABEL_MASK;
224 if (fl->label) {
225 lfl = __fl_lookup(net, fl->label);
237 * with the same label can only appear on another sock
239 lfl = __fl_lookup(net, fl->label);
248 fl->next = fl_ht[FL_HASH(fl->label)];
249 rcu_assign_pointer(fl_ht[FL_HASH(fl->label)], fl);
259 struct ip6_flowlabel *__fl6_sock_lookup(struct sock *sk, __be32 label)
264 label &= IPV6_FLOWLABEL_MASK;
270 if (fl->label == label && atomic_inc_not_zero(&fl->users)) {
521 if (sfl->fl->label == (np->flow_label & IPV6_FLOWLABEL_MASK)) {
523 freq->flr_label = sfl->fl->label;
562 if (sfl->fl->label == freq->flr_label)
586 if (sfl->fl->label == freq->flr_label) {
646 if (sfl->fl->label == freq->flr_label) {
710 if (copy_to_sockptr_offset(optval, offset, &fl->label,
711 sizeof(fl->label))) {
843 (unsigned int)ntohl(fl->label),