Lines Matching refs:fl6
638 struct flowi6 *fl6, __u8 *dsfield, in prepare_ip6gre_xmit_ipv4() argument
647 memcpy(fl6, &t->fl.u.ip6, sizeof(*fl6)); in prepare_ip6gre_xmit_ipv4()
655 fl6->flowi6_mark = skb->mark; in prepare_ip6gre_xmit_ipv4()
657 fl6->flowi6_mark = t->parms.fwmark; in prepare_ip6gre_xmit_ipv4()
659 fl6->flowi6_uid = sock_net_uid(dev_net(dev), NULL); in prepare_ip6gre_xmit_ipv4()
664 struct flowi6 *fl6, __u8 *dsfield, in prepare_ip6gre_xmit_ipv6() argument
689 memcpy(fl6, &t->fl.u.ip6, sizeof(*fl6)); in prepare_ip6gre_xmit_ipv6()
697 fl6->flowlabel |= ip6_flowlabel(ipv6h); in prepare_ip6gre_xmit_ipv6()
700 fl6->flowi6_mark = skb->mark; in prepare_ip6gre_xmit_ipv6()
702 fl6->flowi6_mark = t->parms.fwmark; in prepare_ip6gre_xmit_ipv6()
704 fl6->flowi6_uid = sock_net_uid(dev_net(dev), NULL); in prepare_ip6gre_xmit_ipv6()
711 struct flowi6 *fl6, __u8 *dsfield, in prepare_ip6gre_xmit_other() argument
719 memcpy(fl6, &t->fl.u.ip6, sizeof(*fl6)); in prepare_ip6gre_xmit_other()
727 fl6->flowi6_mark = skb->mark; in prepare_ip6gre_xmit_other()
729 fl6->flowi6_mark = t->parms.fwmark; in prepare_ip6gre_xmit_other()
731 fl6->flowi6_uid = sock_net_uid(dev_net(dev), NULL); in prepare_ip6gre_xmit_other()
749 struct flowi6 *fl6, int encap_limit, in __gre6_xmit() argument
760 fl6->daddr = ((struct ipv6hdr *)skb->data)->daddr; in __gre6_xmit()
762 fl6->daddr = tunnel->parms.raddr; in __gre6_xmit()
778 memset(fl6, 0, sizeof(*fl6)); in __gre6_xmit()
779 fl6->flowi6_proto = IPPROTO_GRE; in __gre6_xmit()
780 fl6->daddr = key->u.ipv6.dst; in __gre6_xmit()
781 fl6->flowlabel = key->label; in __gre6_xmit()
782 fl6->flowi6_uid = sock_net_uid(dev_net(dev), NULL); in __gre6_xmit()
783 fl6->fl6_gre_key = tunnel_id_to_key32(key->tun_id); in __gre6_xmit()
816 return ip6_tnl_xmit(skb, dev, dsfield, fl6, encap_limit, pmtu, in __gre6_xmit()
824 struct flowi6 fl6; in ip6gre_xmit_ipv4() local
832 prepare_ip6gre_xmit_ipv4(skb, dev, &fl6, in ip6gre_xmit_ipv4()
840 err = __gre6_xmit(skb, dev, dsfield, &fl6, encap_limit, &mtu, in ip6gre_xmit_ipv4()
858 struct flowi6 fl6; in ip6gre_xmit_ipv6() local
867 prepare_ip6gre_xmit_ipv6(skb, dev, &fl6, &dsfield, &encap_limit)) in ip6gre_xmit_ipv6()
874 err = __gre6_xmit(skb, dev, dsfield, &fl6, encap_limit, in ip6gre_xmit_ipv6()
889 struct flowi6 fl6; in ip6gre_xmit_other() local
895 prepare_ip6gre_xmit_other(skb, dev, &fl6, &dsfield, &encap_limit)) in ip6gre_xmit_other()
902 err = __gre6_xmit(skb, dev, dsfield, &fl6, encap_limit, &mtu, skb->protocol); in ip6gre_xmit_other()
956 struct flowi6 fl6; in ip6erspan_tunnel_xmit() local
1013 memset(&fl6, 0, sizeof(fl6)); in ip6erspan_tunnel_xmit()
1014 fl6.flowi6_proto = IPPROTO_GRE; in ip6erspan_tunnel_xmit()
1015 fl6.daddr = key->u.ipv6.dst; in ip6erspan_tunnel_xmit()
1016 fl6.flowlabel = key->label; in ip6erspan_tunnel_xmit()
1017 fl6.flowi6_uid = sock_net_uid(dev_net(dev), NULL); in ip6erspan_tunnel_xmit()
1018 fl6.fl6_gre_key = tunnel_id_to_key32(key->tun_id); in ip6erspan_tunnel_xmit()
1049 prepare_ip6gre_xmit_ipv4(skb, dev, &fl6, in ip6erspan_tunnel_xmit()
1055 if (prepare_ip6gre_xmit_ipv6(skb, dev, &fl6, in ip6erspan_tunnel_xmit()
1060 memcpy(&fl6, &t->fl.u.ip6, sizeof(fl6)); in ip6erspan_tunnel_xmit()
1079 fl6.daddr = t->parms.raddr; in ip6erspan_tunnel_xmit()
1091 err = ip6_tnl_xmit(skb, dev, dsfield, &fl6, encap_limit, &mtu, in ip6erspan_tunnel_xmit()
1119 struct flowi6 *fl6 = &t->fl.u.ip6; in ip6gre_tnl_link_config_common() local
1127 fl6->saddr = p->laddr; in ip6gre_tnl_link_config_common()
1128 fl6->daddr = p->raddr; in ip6gre_tnl_link_config_common()
1129 fl6->flowi6_oif = p->link; in ip6gre_tnl_link_config_common()
1130 fl6->flowlabel = 0; in ip6gre_tnl_link_config_common()
1131 fl6->flowi6_proto = IPPROTO_GRE; in ip6gre_tnl_link_config_common()
1132 fl6->fl6_gre_key = t->parms.o_key; in ip6gre_tnl_link_config_common()
1135 fl6->flowlabel |= IPV6_TCLASS_MASK & p->flowinfo; in ip6gre_tnl_link_config_common()
1137 fl6->flowlabel |= IPV6_FLOWLABEL_MASK & p->flowinfo; in ip6gre_tnl_link_config_common()