Lines Matching refs:opt
158 struct ipv6_txoptions *opt, int tclass) in ip6_xmit() argument
170 if (opt) { in ip6_xmit()
176 head_room = opt->opt_nflen + opt->opt_flen; in ip6_xmit()
195 if (opt->opt_flen) in ip6_xmit()
196 ipv6_push_frag_opts(skb, opt, &proto); in ip6_xmit()
197 if (opt->opt_nflen) in ip6_xmit()
198 ipv6_push_nfrag_opts(skb, opt, &proto, &first_hop); in ip6_xmit()
382 struct inet6_skb_parm *opt = IP6CB(skb); in ip6_forward() local
419 if (unlikely(opt->flags & IP6SKB_ROUTERALERT)) { in ip6_forward()
420 if (ip6_call_ra_chain(skb, ntohs(opt->ra))) in ip6_forward()
462 if (skb->dev == dst->dev && opt->srcrt == 0 && !skb_sec_path(skb)) { in ip6_forward()
1182 int hlimit, int tclass, struct ipv6_txoptions *opt, in ip6_setup_cork() argument
1191 if (opt) { in ip6_setup_cork()
1192 if (WARN_ON(v6_cork->opt)) in ip6_setup_cork()
1195 v6_cork->opt = kzalloc(opt->tot_len, sk->sk_allocation); in ip6_setup_cork()
1196 if (unlikely(!v6_cork->opt)) in ip6_setup_cork()
1199 v6_cork->opt->tot_len = opt->tot_len; in ip6_setup_cork()
1200 v6_cork->opt->opt_flen = opt->opt_flen; in ip6_setup_cork()
1201 v6_cork->opt->opt_nflen = opt->opt_nflen; in ip6_setup_cork()
1203 v6_cork->opt->dst0opt = ip6_opt_dup(opt->dst0opt, in ip6_setup_cork()
1205 if (opt->dst0opt && !v6_cork->opt->dst0opt) in ip6_setup_cork()
1208 v6_cork->opt->dst1opt = ip6_opt_dup(opt->dst1opt, in ip6_setup_cork()
1210 if (opt->dst1opt && !v6_cork->opt->dst1opt) in ip6_setup_cork()
1213 v6_cork->opt->hopopt = ip6_opt_dup(opt->hopopt, in ip6_setup_cork()
1215 if (opt->hopopt && !v6_cork->opt->hopopt) in ip6_setup_cork()
1218 v6_cork->opt->srcrt = ip6_rthdr_dup(opt->srcrt, in ip6_setup_cork()
1220 if (opt->srcrt && !v6_cork->opt->srcrt) in ip6_setup_cork()
1270 struct ipv6_txoptions *opt = v6_cork->opt; in __ip6_append_data() local
1276 exthdrlen = opt ? opt->opt_flen : 0; in __ip6_append_data()
1286 (opt ? opt->opt_nflen : 0); in __ip6_append_data()
1291 (opt ? opt->opt_flen + opt->opt_nflen : 0) + in __ip6_append_data()
1563 int tclass, struct ipv6_txoptions *opt, struct flowi6 *fl6, in ip6_append_data() argument
1578 tclass, opt, rt, fl6); in ip6_append_data()
1582 exthdrlen = (opt ? opt->opt_flen : 0); in ip6_append_data()
1599 if (v6_cork->opt) { in ip6_cork_release()
1600 kfree(v6_cork->opt->dst0opt); in ip6_cork_release()
1601 kfree(v6_cork->opt->dst1opt); in ip6_cork_release()
1602 kfree(v6_cork->opt->hopopt); in ip6_cork_release()
1603 kfree(v6_cork->opt->srcrt); in ip6_cork_release()
1604 kfree(v6_cork->opt); in ip6_cork_release()
1605 v6_cork->opt = NULL; in ip6_cork_release()
1627 struct ipv6_txoptions *opt = v6_cork->opt; in __ip6_make_skb() local
1656 if (opt && opt->opt_flen) in __ip6_make_skb()
1657 ipv6_push_frag_opts(skb, opt, &proto); in __ip6_make_skb()
1658 if (opt && opt->opt_nflen) in __ip6_make_skb()
1659 ipv6_push_nfrag_opts(skb, opt, &proto, &final_dst); in __ip6_make_skb()
1749 struct ipv6_txoptions *opt, struct flowi6 *fl6, in ip6_make_skb() argument
1756 int exthdrlen = (opt ? opt->opt_flen : 0); in ip6_make_skb()
1766 cork.base.opt = NULL; in ip6_make_skb()
1767 v6_cork.opt = NULL; in ip6_make_skb()
1768 err = ip6_setup_cork(sk, &cork, &v6_cork, hlimit, tclass, opt, rt, fl6); in ip6_make_skb()