Lines Matching refs:freq

275 fl_create(struct in6_flowlabel_req *freq, char *optval, int optlen, int *err_p)  in fl_create()  argument
282 olen = optlen - CMSG_ALIGN(sizeof(*freq)); in fl_create()
306 if (copy_from_user(fl->opt+1, optval+CMSG_ALIGN(sizeof(*freq)), olen)) in fl_create()
326 err = fl6_renew(fl, freq->flr_linger, freq->flr_expires); in fl_create()
329 fl->share = freq->flr_share; in fl_create()
330 addr_type = ipv6_addr_type(&freq->flr_dst); in fl_create()
334 ipv6_addr_copy(&fl->dst, &freq->flr_dst); in fl_create()
412 struct in6_flowlabel_req freq; in ipv6_flowlabel_opt() local
417 if (optlen < sizeof(freq)) in ipv6_flowlabel_opt()
420 if (copy_from_user(&freq, optval, sizeof(freq))) in ipv6_flowlabel_opt()
423 switch (freq.flr_action) { in ipv6_flowlabel_opt()
427 if (sfl->fl->label == freq.flr_label) { in ipv6_flowlabel_opt()
428 if (freq.flr_label == (np->flow_label&IPV6_FLOWLABEL_MASK)) in ipv6_flowlabel_opt()
443 if (sfl->fl->label == freq.flr_label) { in ipv6_flowlabel_opt()
444 err = fl6_renew(sfl->fl, freq.flr_linger, freq.flr_expires); in ipv6_flowlabel_opt()
451 if (freq.flr_share == IPV6_FL_S_NONE && capable(CAP_NET_ADMIN)) { in ipv6_flowlabel_opt()
452 fl = fl_lookup(freq.flr_label); in ipv6_flowlabel_opt()
454 err = fl6_renew(fl, freq.flr_linger, freq.flr_expires); in ipv6_flowlabel_opt()
462 if (freq.flr_label & ~IPV6_FLOWLABEL_MASK) in ipv6_flowlabel_opt()
465 fl = fl_create(&freq, optval, optlen, &err); in ipv6_flowlabel_opt()
470 if (freq.flr_label) { in ipv6_flowlabel_opt()
476 if (sfl->fl->label == freq.flr_label) { in ipv6_flowlabel_opt()
477 if (freq.flr_flags&IPV6_FL_F_EXCL) { in ipv6_flowlabel_opt()
489 fl1 = fl_lookup(freq.flr_label); in ipv6_flowlabel_opt()
492 if (freq.flr_flags&IPV6_FL_F_EXCL) in ipv6_flowlabel_opt()
526 if (!(freq.flr_flags&IPV6_FL_F_CREATE)) in ipv6_flowlabel_opt()
533 err = fl_intern(fl, freq.flr_label); in ipv6_flowlabel_opt()
538 if (!freq.flr_label) in ipv6_flowlabel_opt()
539 copy_to_user(optval + ((u8*)&freq.flr_label - (u8*)&freq), &fl->label, sizeof(fl->label)); in ipv6_flowlabel_opt()