Searched refs:flowlabel (Results 1 - 27 of 27) sorted by relevance

/linux-4.4.14/net/ipv6/netfilter/
H A Dnft_chain_route_ipv6.c33 u32 mark, flowlabel; nf_route_table_hook() local
39 /* save source/dest address, mark, hoplimit, flowlabel, priority */ nf_route_table_hook()
45 /* flowlabel and prio (includes version, which shouldn't change either */ nf_route_table_hook()
46 flowlabel = *((u32 *)ipv6_hdr(skb)); nf_route_table_hook()
54 flowlabel != *((u_int32_t *)ipv6_hdr(skb)))) nf_route_table_hook()
H A Dip6table_mangle.c40 u_int32_t flowlabel, mark; ip6t_mangle_out() local
51 /* save source/dest address, mark, hoplimit, flowlabel, priority, */ ip6t_mangle_out()
57 /* flowlabel and prio (includes version, which shouldn't change either */ ip6t_mangle_out()
58 flowlabel = *((u_int32_t *)ipv6_hdr(skb)); ip6t_mangle_out()
67 flowlabel != *((u_int32_t *)ipv6_hdr(skb)))) { ip6t_mangle_out()
H A Dnf_dup_ipv6.c34 fl6.flowlabel = (__force __be32)(((iph->flow_lbl[0] & 0xF) << 16) | nf_dup_ipv6_route()
H A Dip6t_rpfilter.c37 .flowlabel = (* (__be32 *) iph) & IPV6_FLOWINFO_MASK, rpfilter_lookup_reverse6()
H A Dip6_tables.c133 /* ... might want to do something with class and flowlabel here ... */ ip6_packet_match()
/linux-4.4.14/include/uapi/linux/
H A Dip6_tunnel.h13 /* copy the flowlabel from the inner packet */
28 __be32 flowinfo; /* traffic class and flowlabel for tunnel */
40 __be32 flowinfo; /* traffic class and flowlabel for tunnel */
/linux-4.4.14/net/l2tp/
H A Dl2tp_ip6.c493 struct ip6_flowlabel *flowlabel = NULL; l2tp_ip6_sendmsg() local
530 fl6.flowlabel = lsa->l2tp_flowinfo & IPV6_FLOWINFO_MASK; l2tp_ip6_sendmsg()
531 if (fl6.flowlabel&IPV6_FLOWLABEL_MASK) { l2tp_ip6_sendmsg()
532 flowlabel = fl6_sock_lookup(sk, fl6.flowlabel); l2tp_ip6_sendmsg()
533 if (flowlabel == NULL) l2tp_ip6_sendmsg()
555 fl6.flowlabel = np->flow_label; l2tp_ip6_sendmsg()
569 fl6_sock_release(flowlabel); l2tp_ip6_sendmsg()
572 if ((fl6.flowlabel & IPV6_FLOWLABEL_MASK) && !flowlabel) { l2tp_ip6_sendmsg()
573 flowlabel = fl6_sock_lookup(sk, fl6.flowlabel); l2tp_ip6_sendmsg()
574 if (flowlabel == NULL) l2tp_ip6_sendmsg()
585 if (flowlabel) l2tp_ip6_sendmsg()
586 opt = fl6_merge_options(&opt_space, flowlabel, opt); l2tp_ip6_sendmsg()
638 fl6_sock_release(flowlabel); l2tp_ip6_sendmsg()
/linux-4.4.14/net/ipv6/
H A Ddatagram.c51 struct ip6_flowlabel *flowlabel = NULL; __ip6_datagram_connect() local
71 fl6.flowlabel = usin->sin6_flowinfo&IPV6_FLOWINFO_MASK; __ip6_datagram_connect()
72 if (fl6.flowlabel&IPV6_FLOWLABEL_MASK) { __ip6_datagram_connect()
73 flowlabel = fl6_sock_lookup(sk, fl6.flowlabel); __ip6_datagram_connect()
74 if (!flowlabel) __ip6_datagram_connect()
148 np->flow_label = fl6.flowlabel; __ip6_datagram_connect()
174 opt = flowlabel ? flowlabel->opt : rcu_dereference(np->opt); __ip6_datagram_connect()
209 fl6_sock_release(flowlabel); __ip6_datagram_connect()
768 if (fl6->flowlabel&IPV6_FLOWINFO_MASK) { for_each_cmsghdr()
769 if ((fl6->flowlabel^*(__be32 *)CMSG_DATA(cmsg))&~IPV6_FLOWINFO_MASK) { for_each_cmsghdr()
774 fl6->flowlabel = IPV6_FLOWINFO_MASK & *(__be32 *)CMSG_DATA(cmsg); for_each_cmsghdr()
H A Dinet6_connection_sock.c106 /* We do not store received flowlabel for TCP */ inet6_csk_addr2sockaddr()
131 fl6->flowlabel = np->flow_label; inet6_csk_route_socket()
132 IP6_ECN_flow_xmit(sk, fl6->flowlabel); inet6_csk_route_socket()
H A Draw.c744 struct ip6_flowlabel *flowlabel = NULL; rawv6_sendmsg() local
792 fl6.flowlabel = sin6->sin6_flowinfo&IPV6_FLOWINFO_MASK; rawv6_sendmsg()
793 if (fl6.flowlabel&IPV6_FLOWLABEL_MASK) { rawv6_sendmsg()
794 flowlabel = fl6_sock_lookup(sk, fl6.flowlabel); rawv6_sendmsg()
795 if (!flowlabel) rawv6_sendmsg()
818 fl6.flowlabel = np->flow_label; rawv6_sendmsg()
832 fl6_sock_release(flowlabel); rawv6_sendmsg()
835 if ((fl6.flowlabel&IPV6_FLOWLABEL_MASK) && !flowlabel) { rawv6_sendmsg()
836 flowlabel = fl6_sock_lookup(sk, fl6.flowlabel); rawv6_sendmsg()
837 if (!flowlabel) rawv6_sendmsg()
847 if (flowlabel) rawv6_sendmsg()
848 opt = fl6_merge_options(&opt_space, flowlabel, opt); rawv6_sendmsg()
911 fl6_sock_release(flowlabel); rawv6_sendmsg()
H A Dudp.c1112 struct ip6_flowlabel *flowlabel = NULL; udpv6_sendmsg() local
1207 fl6.flowlabel = sin6->sin6_flowinfo&IPV6_FLOWINFO_MASK; udpv6_sendmsg()
1208 if (fl6.flowlabel&IPV6_FLOWLABEL_MASK) { udpv6_sendmsg()
1209 flowlabel = fl6_sock_lookup(sk, fl6.flowlabel); udpv6_sendmsg()
1210 if (!flowlabel) udpv6_sendmsg()
1233 fl6.flowlabel = np->flow_label; udpv6_sendmsg()
1253 fl6_sock_release(flowlabel); udpv6_sendmsg()
1256 if ((fl6.flowlabel&IPV6_FLOWLABEL_MASK) && !flowlabel) { udpv6_sendmsg()
1257 flowlabel = fl6_sock_lookup(sk, fl6.flowlabel); udpv6_sendmsg()
1258 if (!flowlabel) udpv6_sendmsg()
1269 if (flowlabel) udpv6_sendmsg()
1270 opt = fl6_merge_options(&opt_space, flowlabel, opt); udpv6_sendmsg()
1376 fl6_sock_release(flowlabel); udpv6_sendmsg()
H A Dtcp_ipv6.c137 fl6.flowlabel = usin->sin6_flowinfo&IPV6_FLOWINFO_MASK; tcp_v6_connect()
138 IP6_ECN_flow_init(fl6.flowlabel); tcp_v6_connect()
139 if (fl6.flowlabel&IPV6_FLOWLABEL_MASK) { tcp_v6_connect()
140 struct ip6_flowlabel *flowlabel; tcp_v6_connect() local
141 flowlabel = fl6_sock_lookup(sk, fl6.flowlabel); tcp_v6_connect()
142 if (!flowlabel) tcp_v6_connect()
144 fl6_sock_release(flowlabel); tcp_v6_connect()
186 np->flow_label = fl6.flowlabel; tcp_v6_connect()
464 fl6->flowlabel = ip6_flowlabel(ipv6_hdr(ireq->pktopts)); tcp_v6_send_synack()
801 fl6.flowlabel = label; tcp_v6_send_response()
H A Dip6_gre.c729 ip6_make_flowlabel(net, skb, fl6->flowlabel, true, fl6)); ip6gre_xmit2()
792 fl6.flowlabel |= htonl((__u32)iph->tos << IPV6_TCLASS_SHIFT) ip6gre_xmit_ipv4()
841 fl6.flowlabel |= (*(__be32 *) ipv6h & IPV6_TCLASS_MASK); ip6gre_xmit_ipv6()
843 fl6.flowlabel |= ip6_flowlabel(ipv6h); ip6gre_xmit_ipv6()
946 fl6->flowlabel = 0; ip6gre_tnl_link_config()
949 fl6->flowlabel |= IPV6_TCLASS_MASK & p->flowinfo; ip6gre_tnl_link_config()
951 fl6->flowlabel |= IPV6_FLOWLABEL_MASK & p->flowinfo; ip6gre_tnl_link_config()
1183 t->fl.u.ip6.flowlabel, true, ip6gre_header()
H A Dip6_tunnel.c1156 ip6_make_flowlabel(net, skb, fl6->flowlabel, true, fl6)); ip6_tnl_xmit2()
1198 fl6.flowlabel |= htonl((__u32)iph->tos << IPV6_TCLASS_SHIFT) ip4ip6_tnl_xmit()
1251 fl6.flowlabel |= (*(__be32 *) ipv6h & IPV6_TCLASS_MASK); ip6ip6_tnl_xmit()
1253 fl6.flowlabel |= ip6_flowlabel(ipv6h); ip6ip6_tnl_xmit()
1310 fl6->flowlabel = 0; ip6_tnl_link_config()
1313 fl6->flowlabel |= IPV6_TCLASS_MASK & p->flowinfo; ip6_tnl_link_config()
1315 fl6->flowlabel |= IPV6_FLOWLABEL_MASK & p->flowinfo; ip6_tnl_link_config()
H A Dip6_flowlabel.c2 * ip6_flowlabel.c IPv6 flowlabel manager.
239 /* Socket flowlabel lists */
289 It is the only difficult place. flowlabel enforces equal headers
H A Dfib6_rules.c184 if (r->tclass && r->tclass != ip6_tclass(fl6->flowlabel)) fib6_rule_match()
H A Daf_inet6.c660 fl6.flowlabel = np->flow_label; inet6_sk_rebuild_header()
H A Droute.c427 * Hash based function using packet header and flowlabel.
1159 .flowlabel = ip6_flowinfo(iph), ip6_route_input()
1400 fl6.flowlabel = ip6_flowinfo(iph); ip6_update_pmtu()
1505 fl6.flowlabel = ip6_flowinfo(iph); ip6_redirect()
H A Dip6_output.c213 ip6_flow_hdr(hdr, tclass, ip6_make_flowlabel(net, skb, fl6->flowlabel, ip6_xmit()
1666 ip6_make_flowlabel(net, skb, fl6->flowlabel, __ip6_make_skb()
/linux-4.4.14/net/dccp/
H A Dipv6.c198 fl6.flowlabel = 0; dccp_v6_send_response()
785 fl6.flowlabel = usin->sin6_flowinfo & IPV6_FLOWINFO_MASK; dccp_v6_connect()
786 IP6_ECN_flow_init(fl6.flowlabel); dccp_v6_connect()
787 if (fl6.flowlabel & IPV6_FLOWLABEL_MASK) { dccp_v6_connect()
788 struct ip6_flowlabel *flowlabel; dccp_v6_connect() local
789 flowlabel = fl6_sock_lookup(sk, fl6.flowlabel); dccp_v6_connect()
790 if (flowlabel == NULL) dccp_v6_connect()
792 fl6_sock_release(flowlabel); dccp_v6_connect()
825 np->flow_label = fl6.flowlabel; dccp_v6_connect()
/linux-4.4.14/include/net/
H A Dipv6.h742 __be32 flowlabel, bool autolabel, ip6_make_flowlabel()
747 if (flowlabel || ip6_make_flowlabel()
751 return flowlabel; ip6_make_flowlabel()
761 flowlabel = (__force __be32)hash & IPV6_FLOWLABEL_MASK; ip6_make_flowlabel()
764 flowlabel |= IPV6_FLOWLABEL_STATELESS_FLAG; ip6_make_flowlabel()
766 return flowlabel; ip6_make_flowlabel()
784 __be32 flowlabel, bool autolabel, ip6_make_flowlabel()
787 return flowlabel; ip6_make_flowlabel()
800 __be32 flowlabel) ip6_flow_hdr()
802 *(__be32 *)hdr = htonl(0x60000000 | (tclass << 20)) | flowlabel; ip6_flow_hdr()
741 ip6_make_flowlabel(struct net *net, struct sk_buff *skb, __be32 flowlabel, bool autolabel, struct flowi6 *fl6) ip6_make_flowlabel() argument
783 ip6_make_flowlabel(struct net *net, struct sk_buff *skb, __be32 flowlabel, bool autolabel, struct flowi6 *fl6) ip6_make_flowlabel() argument
799 ip6_flow_hdr(struct ipv6hdr *hdr, unsigned int tclass, __be32 flowlabel) ip6_flow_hdr() argument
H A Dip6_tunnel.h24 __be32 flowinfo; /* traffic class and flowlabel for tunnel */
H A Dflow.h138 __be32 flowlabel; member in struct:flowi6
/linux-4.4.14/net/core/
H A Dflow_dissector.c707 keys.tags.flow_label = (__force u32)fl6->flowlabel; __skb_get_hash_flowi6()
815 keys->tags.flow_label = (__force u32)fl6->flowlabel; __get_hash_from_flowi6()
/linux-4.4.14/drivers/net/ipvlan/
H A Dipvlan_core.c395 .flowlabel = ip6_flowinfo(ip6h), ipvlan_process_v6_outbound()
/linux-4.4.14/drivers/net/
H A Dvrf.c233 .flowlabel = ip6_flowinfo(iph), vrf_process_v6_outbound()
/linux-4.4.14/net/sctp/
H A Dipv6.c217 IP6_ECN_flow_xmit(sk, fl6->flowlabel); sctp_v6_xmit()

Completed in 573 milliseconds