/linux-4.4.14/net/ipv6/netfilter/ |
H A D | nft_chain_route_ipv6.c | 33 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 D | ip6table_mangle.c | 40 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 D | nf_dup_ipv6.c | 34 fl6.flowlabel = (__force __be32)(((iph->flow_lbl[0] & 0xF) << 16) | nf_dup_ipv6_route()
|
H A D | ip6t_rpfilter.c | 37 .flowlabel = (* (__be32 *) iph) & IPV6_FLOWINFO_MASK, rpfilter_lookup_reverse6()
|
H A D | ip6_tables.c | 133 /* ... might want to do something with class and flowlabel here ... */ ip6_packet_match()
|
/linux-4.4.14/include/uapi/linux/ |
H A D | ip6_tunnel.h | 13 /* 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 D | l2tp_ip6.c | 493 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 D | datagram.c | 51 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 D | inet6_connection_sock.c | 106 /* 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 D | raw.c | 744 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 D | udp.c | 1112 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 D | tcp_ipv6.c | 137 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 D | ip6_gre.c | 729 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 D | ip6_tunnel.c | 1156 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 D | ip6_flowlabel.c | 2 * ip6_flowlabel.c IPv6 flowlabel manager. 239 /* Socket flowlabel lists */ 289 It is the only difficult place. flowlabel enforces equal headers
|
H A D | fib6_rules.c | 184 if (r->tclass && r->tclass != ip6_tclass(fl6->flowlabel)) fib6_rule_match()
|
H A D | af_inet6.c | 660 fl6.flowlabel = np->flow_label; inet6_sk_rebuild_header()
|
H A D | route.c | 427 * 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 D | ip6_output.c | 213 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 D | ipv6.c | 198 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 D | ipv6.h | 742 __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 D | ip6_tunnel.h | 24 __be32 flowinfo; /* traffic class and flowlabel for tunnel */
|
H A D | flow.h | 138 __be32 flowlabel; member in struct:flowi6
|
/linux-4.4.14/net/core/ |
H A D | flow_dissector.c | 707 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 D | ipvlan_core.c | 395 .flowlabel = ip6_flowinfo(ip6h), ipvlan_process_v6_outbound()
|
/linux-4.4.14/drivers/net/ |
H A D | vrf.c | 233 .flowlabel = ip6_flowinfo(iph), vrf_process_v6_outbound()
|
/linux-4.4.14/net/sctp/ |
H A D | ipv6.c | 217 IP6_ECN_flow_xmit(sk, fl6->flowlabel); sctp_v6_xmit()
|