| /linux/tools/testing/selftests/net/ |
| H A D | ipv6_flowlabel.c | 53 static void do_send(int fd, bool with_flowlabel, uint32_t flowlabel) in do_send() argument 55 char control[CMSG_SPACE(sizeof(flowlabel))] = {0}; in do_send() 78 cm->cmsg_len = CMSG_LEN(sizeof(flowlabel)); in do_send() 81 *(uint32_t *)CMSG_DATA(cm) = htonl(flowlabel); in do_send() 92 fprintf(stderr, "sent with label %u\n", flowlabel); in do_send() 104 uint32_t flowlabel; in do_recv() local 140 flowlabel = ntohl(*(uint32_t *)CMSG_DATA(cm)); in do_recv() 141 fprintf(stderr, "recv with label %u\n", flowlabel); in do_recv() 143 if (expect != FLOWLABEL_WILDCARD && expect != flowlabel) { in do_recv() 145 flowlabel, expect); in do_recv()
|
| /linux/Documentation/networking/ |
| H A D | seg6-sysctl.rst | 32 Controls the behaviour of computing the flowlabel of outer 36 -1 set flowlabel to zero. 37 0 copy flowlabel from Inner packet in case of Inner IPv6 38 (Set flowlabel to 0 in case IPv4/L2) 39 1 Compute the flowlabel using seg6_make_flowlabel()
|
| /linux/net/l2tp/ |
| H A D | l2tp_ip6.c | 526 struct ip6_flowlabel *flowlabel = NULL; in l2tp_ip6_sendmsg() 562 fl6.flowlabel = lsa->l2tp_flowinfo & IPV6_FLOWINFO_MASK; in l2tp_ip6_sendmsg() 563 if (fl6.flowlabel & IPV6_FLOWLABEL_MASK) { in l2tp_ip6_sendmsg() 564 flowlabel = fl6_sock_lookup(sk, fl6.flowlabel); in l2tp_ip6_sendmsg() 565 if (IS_ERR(flowlabel)) in l2tp_ip6_sendmsg() 586 fl6.flowlabel = np->flow_label; in l2tp_ip6_sendmsg() 600 fl6_sock_release(flowlabel); in l2tp_ip6_sendmsg() 603 if ((fl6.flowlabel & IPV6_FLOWLABEL_MASK) && !flowlabel) { in l2tp_ip6_sendmsg() 525 struct ip6_flowlabel *flowlabel = NULL; l2tp_ip6_sendmsg() local [all...] |
| /linux/net/ipv6/ |
| H A D | seg6_iptunnel.c | 114 __be32 flowlabel = 0; in seg6_make_flowlabel() local 120 flowlabel = (__force __be32)hash & IPV6_FLOWLABEL_MASK; in seg6_make_flowlabel() 122 flowlabel = ip6_flowlabel(inner_hdr); in seg6_make_flowlabel() 124 return flowlabel; in seg6_make_flowlabel() 136 __be32 flowlabel; in __seg6_do_srh_encap() local 146 flowlabel = seg6_make_flowlabel(net, skb, inner_hdr); in __seg6_do_srh_encap() 160 flowlabel); in __seg6_do_srh_encap() 163 ip6_flow_hdr(hdr, 0, flowlabel); in __seg6_do_srh_encap() 223 __be32 flowlabel; in seg6_do_srh_encap_red() local 247 flowlabel = seg6_make_flowlabel(net, skb, inner_hdr); in seg6_do_srh_encap_red() [all …]
|
| H A D | fib6_rules.c | 29 __be32 flowlabel; member 335 if ((r->dscp ^ ip6_dscp(fl6->flowlabel)) & r->dscp_mask) in fib6_rule_match() 338 if ((r->flowlabel ^ flowi6_get_flowlabel(fl6)) & r->flowlabel_mask) in fib6_rule_match() 396 __be32 flowlabel, flowlabel_mask; in fib6_nl2rule_flowlabel() local 402 flowlabel = nla_get_be32(tb[FRA_FLOWLABEL]); in fib6_nl2rule_flowlabel() 411 if (flowlabel & ~flowlabel_mask) { in fib6_nl2rule_flowlabel() 416 rule6->flowlabel = flowlabel; in fib6_nl2rule_flowlabel() 524 nla_get_be32(tb[FRA_FLOWLABEL]) != rule6->flowlabel) in fib6_rule_compare() 562 (nla_put_be32(skb, FRA_FLOWLABEL, rule6->flowlabel) || in fib6_rule_fill()
|
| H A D | tcp_ipv6.c | 160 fl6->flowlabel = usin->sin6_flowinfo & IPV6_FLOWINFO_MASK; in tcp_v6_connect() 161 IP6_ECN_flow_init(fl6->flowlabel); in tcp_v6_connect() 162 if (fl6->flowlabel & IPV6_FLOWLABEL_MASK) { in tcp_v6_connect() 163 struct ip6_flowlabel *flowlabel; in tcp_v6_connect() local 164 flowlabel = fl6_sock_lookup(sk, fl6->flowlabel); in tcp_v6_connect() 165 if (IS_ERR(flowlabel)) in tcp_v6_connect() 167 fl6_sock_release(flowlabel); in tcp_v6_connect() 213 np->flow_label = fl6->flowlabel; in tcp_v6_connect() 264 fl6->flowlabel = ip6_make_flowinfo(np->tclass, np->flow_label); in tcp_v6_connect() 554 fl6->flowlabel = ip6_flowlabel(ipv6_hdr(ireq->pktopts)); in tcp_v6_send_synack() [all …]
|
| H A D | ip6_tunnel.c | 1163 fl6->flowlabel = ip6_make_flowinfo(dsfield, fl6->flowlabel); in ip6_tnl_xmit() 1275 ip6_make_flowlabel(net, skb, fl6->flowlabel, true, fl6)); in ip6_tnl_xmit() 1323 fl6.flowlabel = key->label; in ipxip6_tnl_xmit() 1384 fl6.flowlabel |= ip6_flowlabel(ipv6h); in ipxip6_tnl_xmit() 1477 fl6->flowlabel = 0; in ip6_tnl_link_config() 1480 fl6->flowlabel |= IPV6_TCLASS_MASK & p->flowinfo; in ip6_tnl_link_config() 1482 fl6->flowlabel |= IPV6_FLOWLABEL_MASK & p->flowinfo; in ip6_tnl_link_config()
|
| H A D | ip6_udp_tunnel.c | 163 fl6.flowlabel = ip6_make_flowinfo(dsfield, key->label); in udp_tunnel6_dst_lookup()
|
| H A D | ip6_gre.c | 667 fl6->flowlabel |= ip6_flowlabel(ipv6h); in prepare_ip6gre_xmit_ipv6() 751 fl6->flowlabel = key->label; in __gre6_xmit() 986 fl6.flowlabel = key->label; in ip6erspan_tunnel_xmit() 1102 fl6->flowlabel = 0; in ip6gre_tnl_link_config_common() 1107 fl6->flowlabel |= IPV6_TCLASS_MASK & p->flowinfo; in ip6gre_tnl_link_config_common() 1109 fl6->flowlabel |= IPV6_FLOWLABEL_MASK & p->flowinfo; in ip6gre_tnl_link_config_common() 1382 t->fl.u.ip6.flowlabel, in ip6gre_header()
|
| H A D | xfrm6_protocol.c | 84 .flowlabel = ip6_flowinfo(ip6h), in xfrm6_rcv_encap()
|
| H A D | icmp.c | 791 fl6.flowlabel = ip6_make_flowinfo(ipc6.tclass, fl6.flowlabel); in icmp6_send() 962 fl6.flowlabel = ip6_flowlabel(ipv6_hdr(skb)); in icmpv6_echo_reply()
|
| H A D | rpl_iptunnel.c | 228 fl6.flowlabel = ip6_flowinfo(hdr); in rpl_output()
|
| /linux/include/net/ |
| H A D | ipv6.h | 875 __be32 flowlabel, bool autolabel, in ip6_make_flowlabel() argument 884 flowlabel &= IPV6_FLOWLABEL_MASK; in ip6_make_flowlabel() 886 if (flowlabel) in ip6_make_flowlabel() 887 return flowlabel; in ip6_make_flowlabel() 892 return flowlabel; in ip6_make_flowlabel() 902 flowlabel = (__force __be32)hash & IPV6_FLOWLABEL_MASK; in ip6_make_flowlabel() 905 flowlabel |= IPV6_FLOWLABEL_STATELESS_FLAG; in ip6_make_flowlabel() 907 return flowlabel; in ip6_make_flowlabel() 924 __be32 flowlabel, bool autolabel, in ip6_make_flowlabel() argument 927 return flowlabel; in ip6_make_flowlabel() [all …]
|
| /linux/net/ipv6/netfilter/ |
| H A D | ip6table_mangle.c | 36 u32 flowlabel, mark; in ip6t_mangle_out() local 47 flowlabel = *((u_int32_t *)ipv6_hdr(skb)); in ip6t_mangle_out() 57 flowlabel != *((u_int32_t *)ipv6_hdr(skb)))) { in ip6t_mangle_out()
|
| H A D | nf_dup_ipv6.c | 31 fl6.flowlabel = (__force __be32)(((iph->flow_lbl[0] & 0xF) << 16) | in nf_dup_ipv6_route()
|
| H A D | ip6t_rpfilter.c | 41 .flowlabel = (* (__be32 *) iph) & IPV6_FLOWINFO_MASK, in rpfilter_lookup_reverse6()
|
| H A D | nft_fib_ipv6.c | 52 fl6->flowlabel = (*(__be32 *)iph) & IPV6_FLOWINFO_MASK; in nft_fib6_flowi_init()
|
| /linux/net/netfilter/ |
| H A D | nft_chain_route.c | 71 u32 mark, flowlabel; in nf_route_table_hook6() local 86 flowlabel = *((u32 *)ipv6_hdr(skb)); in nf_route_table_hook6() 94 flowlabel != *((u32 *)ipv6_hdr(skb)))) { in nf_route_table_hook6()
|
| H A D | nf_flow_table_path.c | 223 fl.u.ip6.flowlabel = ip6_flowinfo(ipv6_hdr(pkt->skb)); in nft_flow_tunnel_update_route() 308 fl.u.ip6.flowlabel = ip6_flowinfo(ipv6_hdr(pkt->skb)); in nft_flow_route()
|
| /linux/net/sctp/ |
| H A D | ipv6.c | 236 IP6_ECN_flow_xmit(sk, fl6->flowlabel); in sctp_v6_xmit() 262 label = ip6_make_flowlabel(sock_net(sk), skb, fl6->flowlabel, true, fl6); in sctp_v6_xmit() 297 if (t->flowlabel & SCTP_FLOWLABEL_SET_MASK) in sctp_v6_get_dst() 298 fl6->flowlabel = htonl(t->flowlabel & SCTP_FLOWLABEL_VAL_MASK); in sctp_v6_get_dst() 301 (fl6->flowlabel & IPV6_FLOWLABEL_MASK)) { in sctp_v6_get_dst() 302 struct ip6_flowlabel *flowlabel; in sctp_v6_get_dst() local 304 flowlabel = fl6_sock_lookup(sk, fl6->flowlabel); in sctp_v6_get_dst() 305 if (IS_ERR(flowlabel)) in sctp_v6_get_dst() 307 fl6_sock_release(flowlabel); in sctp_v6_get_dst()
|
| H A D | associola.c | 108 asoc->flowlabel = sp->flowlabel; in sctp_association_init() 649 peer->flowlabel = ntohl(info & IPV6_FLOWLABEL_MASK); in sctp_assoc_add_peer() 650 peer->flowlabel |= SCTP_FLOWLABEL_SET_MASK; in sctp_assoc_add_peer() 652 peer->flowlabel = asoc->flowlabel; in sctp_assoc_add_peer()
|
| /linux/net/dccp/ |
| H A D | ipv6.c | |
| /linux/drivers/net/ethernet/mellanox/mlxsw/ |
| H A D | spectrum_nve.h | 17 __be32 flowlabel; member
|
| H A D | spectrum_nve_vxlan.c | 156 config->flowlabel = cfg->label; in mlxsw_sp_nve_vxlan_config()
|
| /linux/drivers/net/ipvlan/ |
| H A D | ipvlan_l3s.c | 72 .flowlabel = ip6_flowinfo(ip6h), in ipvlan_l3_rcv()
|