/linux-6.3-rc2/tools/testing/selftests/net/ |
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-6.3-rc2/Documentation/networking/ |
A D | seg6-sysctl.rst | 29 Controls the behaviour of computing the flowlabel of outer 33 -1 set flowlabel to zero. 34 0 copy flowlabel from Inner packet in case of Inner IPv6 35 (Set flowlabel to 0 in case IPv4/L2) 36 1 Compute the flowlabel using seg6_make_flowlabel()
|
/linux-6.3-rc2/net/l2tp/ |
A D | l2tp_ip6.c | 499 struct ip6_flowlabel *flowlabel = NULL; in l2tp_ip6_sendmsg() local 538 flowlabel = fl6_sock_lookup(sk, fl6.flowlabel); in l2tp_ip6_sendmsg() 539 if (IS_ERR(flowlabel)) in l2tp_ip6_sendmsg() 560 fl6.flowlabel = np->flow_label; in l2tp_ip6_sendmsg() 574 fl6_sock_release(flowlabel); in l2tp_ip6_sendmsg() 577 if ((fl6.flowlabel & IPV6_FLOWLABEL_MASK) && !flowlabel) { in l2tp_ip6_sendmsg() 578 flowlabel = fl6_sock_lookup(sk, fl6.flowlabel); in l2tp_ip6_sendmsg() 579 if (IS_ERR(flowlabel)) in l2tp_ip6_sendmsg() 590 if (flowlabel) in l2tp_ip6_sendmsg() 615 fl6.flowlabel = ip6_make_flowinfo(ipc6.tclass, fl6.flowlabel); in l2tp_ip6_sendmsg() [all …]
|
/linux-6.3-rc2/net/ipv6/ |
A D | seg6_iptunnel.c | 114 __be32 flowlabel = 0; in seg6_make_flowlabel() local 122 flowlabel = ip6_flowlabel(inner_hdr); in seg6_make_flowlabel() 124 return flowlabel; in seg6_make_flowlabel() 135 __be32 flowlabel; in seg6_do_srh_encap() local 145 flowlabel = seg6_make_flowlabel(net, skb, inner_hdr); in seg6_do_srh_encap() 159 flowlabel); in seg6_do_srh_encap() 162 ip6_flow_hdr(hdr, 0, flowlabel); in seg6_do_srh_encap() 214 __be32 flowlabel; in seg6_do_srh_encap_red() local 248 flowlabel); in seg6_do_srh_encap_red() 251 ip6_flow_hdr(hdr, 0, flowlabel); in seg6_do_srh_encap_red() [all …]
|
A D | raw.c | 748 struct ip6_flowlabel *flowlabel = NULL; in rawv6_sendmsg() local 809 flowlabel = fl6_sock_lookup(sk, fl6.flowlabel); in rawv6_sendmsg() 810 if (IS_ERR(flowlabel)) in rawv6_sendmsg() 833 fl6.flowlabel = np->flow_label; in rawv6_sendmsg() 847 fl6_sock_release(flowlabel); in rawv6_sendmsg() 850 if ((fl6.flowlabel&IPV6_FLOWLABEL_MASK) && !flowlabel) { in rawv6_sendmsg() 851 flowlabel = fl6_sock_lookup(sk, fl6.flowlabel); in rawv6_sendmsg() 852 if (IS_ERR(flowlabel)) in rawv6_sendmsg() 862 if (flowlabel) in rawv6_sendmsg() 898 fl6.flowlabel = ip6_make_flowinfo(ipc6.tclass, fl6.flowlabel); in rawv6_sendmsg() [all …]
|
A D | udp.c | 1339 struct ip6_flowlabel *flowlabel = NULL; in udpv6_sendmsg() local 1443 flowlabel = fl6_sock_lookup(sk, fl6->flowlabel); in udpv6_sendmsg() 1444 if (IS_ERR(flowlabel)) in udpv6_sendmsg() 1467 fl6->flowlabel = np->flow_label; in udpv6_sendmsg() 1490 fl6_sock_release(flowlabel); in udpv6_sendmsg() 1493 if ((fl6->flowlabel&IPV6_FLOWLABEL_MASK) && !flowlabel) { in udpv6_sendmsg() 1494 flowlabel = fl6_sock_lookup(sk, fl6->flowlabel); in udpv6_sendmsg() 1495 if (IS_ERR(flowlabel)) in udpv6_sendmsg() 1506 if (flowlabel) in udpv6_sendmsg() 1560 fl6->flowlabel = ip6_make_flowinfo(ipc6.tclass, fl6->flowlabel); in udpv6_sendmsg() [all …]
|
A D | ping.c | 93 fl6.flowlabel = u->sin6_flowinfo & IPV6_FLOWINFO_MASK; in ping_v6_sendmsg() 100 fl6.flowlabel = np->flow_label; in ping_v6_sendmsg() 151 fl6.flowlabel = ip6_make_flowinfo(ipc6.tclass, fl6.flowlabel); in ping_v6_sendmsg()
|
A D | datagram.c | 54 fl6->flowlabel = ip6_make_flowinfo(np->tclass, np->flow_label); in ip6_datagram_flow_key_init() 73 struct ip6_flowlabel *flowlabel = NULL; in ip6_datagram_dst_update() local 83 flowlabel = fl6_sock_lookup(sk, np->flow_label); in ip6_datagram_dst_update() 84 if (IS_ERR(flowlabel)) in ip6_datagram_dst_update() 90 opt = flowlabel ? flowlabel->opt : rcu_dereference(np->opt); in ip6_datagram_dst_update() 115 fl6_sock_release(flowlabel); in ip6_datagram_dst_update() 854 if (fl6->flowlabel&IPV6_FLOWINFO_MASK) { in ip6_datagram_send_ctl() 855 if ((fl6->flowlabel^*(__be32 *)CMSG_DATA(cmsg))&~IPV6_FLOWINFO_MASK) { in ip6_datagram_send_ctl() 860 fl6->flowlabel = IPV6_FLOWINFO_MASK & *(__be32 *)CMSG_DATA(cmsg); in ip6_datagram_send_ctl()
|
A D | inet6_connection_sock.c | 91 fl6->flowlabel = np->flow_label; in inet6_csk_route_socket() 92 IP6_ECN_flow_xmit(sk, fl6->flowlabel); in inet6_csk_route_socket()
|
A D | tcp_ipv6.c | 171 fl6.flowlabel = usin->sin6_flowinfo&IPV6_FLOWINFO_MASK; in tcp_v6_connect() 172 IP6_ECN_flow_init(fl6.flowlabel); in tcp_v6_connect() 173 if (fl6.flowlabel&IPV6_FLOWLABEL_MASK) { in tcp_v6_connect() 174 struct ip6_flowlabel *flowlabel; in tcp_v6_connect() local 175 flowlabel = fl6_sock_lookup(sk, fl6.flowlabel); in tcp_v6_connect() 176 if (IS_ERR(flowlabel)) in tcp_v6_connect() 178 fl6_sock_release(flowlabel); in tcp_v6_connect() 224 np->flow_label = fl6.flowlabel; in tcp_v6_connect() 275 fl6.flowlabel = ip6_make_flowinfo(np->tclass, np->flow_label); in tcp_v6_connect() 555 fl6->flowlabel = ip6_flowlabel(ipv6_hdr(ireq->pktopts)); in tcp_v6_send_synack() [all …]
|
A D | ip6_tunnel.c | 1146 fl6->flowlabel = ip6_make_flowinfo(dsfield, fl6->flowlabel); in ip6_tnl_xmit() 1259 ip6_make_flowlabel(net, skb, fl6->flowlabel, true, fl6)); in ip6_tnl_xmit() 1307 fl6.flowlabel = key->label; in ipxip6_tnl_xmit() 1368 fl6.flowlabel |= ip6_flowlabel(ipv6h); in ipxip6_tnl_xmit() 1461 fl6->flowlabel = 0; in ip6_tnl_link_config() 1464 fl6->flowlabel |= IPV6_TCLASS_MASK & p->flowinfo; in ip6_tnl_link_config() 1466 fl6->flowlabel |= IPV6_FLOWLABEL_MASK & p->flowinfo; in ip6_tnl_link_config()
|
A D | ip6_gre.c | 692 fl6->flowlabel |= ip6_flowlabel(ipv6h); in prepare_ip6gre_xmit_ipv6() 776 fl6->flowlabel = key->label; in __gre6_xmit() 1001 fl6.flowlabel = key->label; in ip6erspan_tunnel_xmit() 1109 fl6->flowlabel = 0; in ip6gre_tnl_link_config_common() 1114 fl6->flowlabel |= IPV6_TCLASS_MASK & p->flowinfo; in ip6gre_tnl_link_config_common() 1116 fl6->flowlabel |= IPV6_FLOWLABEL_MASK & p->flowinfo; in ip6gre_tnl_link_config_common() 1382 t->fl.u.ip6.flowlabel, in ip6gre_header()
|
/linux-6.3-rc2/net/ipv6/netfilter/ |
A D | ip6table_mangle.c | 37 u_int32_t flowlabel, mark; in ip6t_mangle_out() local 47 flowlabel = *((u_int32_t *)ipv6_hdr(skb)); in ip6t_mangle_out() 56 flowlabel != *((u_int32_t *)ipv6_hdr(skb)))) { in ip6t_mangle_out()
|
A D | nf_dup_ipv6.c | 31 fl6.flowlabel = (__force __be32)(((iph->flow_lbl[0] & 0xF) << 16) | in nf_dup_ipv6_route()
|
A D | ip6t_rpfilter.c | 41 .flowlabel = (* (__be32 *) iph) & IPV6_FLOWINFO_MASK, in rpfilter_lookup_reverse6()
|
/linux-6.3-rc2/net/netfilter/ |
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()
|
/linux-6.3-rc2/include/net/ |
A D | ipv6.h | 958 __be32 flowlabel, bool autolabel, in ip6_make_flowlabel() argument 966 flowlabel &= IPV6_FLOWLABEL_MASK; in ip6_make_flowlabel() 968 if (flowlabel || in ip6_make_flowlabel() 972 return flowlabel; in ip6_make_flowlabel() 985 flowlabel |= IPV6_FLOWLABEL_STATELESS_FLAG; in ip6_make_flowlabel() 987 return flowlabel; in ip6_make_flowlabel() 1004 __be32 flowlabel, bool autolabel, in ip6_make_flowlabel() argument 1007 return flowlabel; in ip6_make_flowlabel() 1039 __be32 flowlabel) in ip6_flow_hdr() argument 1066 return htonl(tclass << IPV6_TCLASS_SHIFT) | flowlabel; in ip6_make_flowinfo() [all …]
|
A D | flow.h | 144 __be32 flowlabel; member
|
/linux-6.3-rc2/drivers/infiniband/hw/hns/ |
A D | hns_roce_ah.c | 71 ah->av.flowlabel = grh->flow_label; in hns_roce_create_ah() 101 rdma_ah_set_grh(ah_attr, NULL, ah->av.flowlabel, in hns_roce_query_ah()
|
/linux-6.3-rc2/net/dccp/ |
A D | ipv6.c | 209 fl6.flowlabel = 0; in dccp_v6_send_response() 841 fl6.flowlabel = usin->sin6_flowinfo & IPV6_FLOWINFO_MASK; in dccp_v6_connect() 842 IP6_ECN_flow_init(fl6.flowlabel); in dccp_v6_connect() 843 if (fl6.flowlabel & IPV6_FLOWLABEL_MASK) { in dccp_v6_connect() 844 struct ip6_flowlabel *flowlabel; in dccp_v6_connect() local 845 flowlabel = fl6_sock_lookup(sk, fl6.flowlabel); in dccp_v6_connect() 846 if (IS_ERR(flowlabel)) in dccp_v6_connect() 848 fl6_sock_release(flowlabel); in dccp_v6_connect() 881 np->flow_label = fl6.flowlabel; in dccp_v6_connect()
|
/linux-6.3-rc2/net/sctp/ |
A D | ipv6.c | 238 IP6_ECN_flow_xmit(sk, fl6->flowlabel); in sctp_v6_xmit() 264 label = ip6_make_flowlabel(sock_net(sk), skb, fl6->flowlabel, true, fl6); in sctp_v6_xmit() 298 if (t->flowlabel & SCTP_FLOWLABEL_SET_MASK) in sctp_v6_get_dst() 299 fl6->flowlabel = htonl(t->flowlabel & SCTP_FLOWLABEL_VAL_MASK); in sctp_v6_get_dst() 301 if (np->sndflow && (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()
|
A D | associola.c | 108 asoc->flowlabel = sp->flowlabel; in sctp_association_init() 648 peer->flowlabel = ntohl(info & IPV6_FLOWLABEL_MASK); in sctp_assoc_add_peer() 649 peer->flowlabel |= SCTP_FLOWLABEL_SET_MASK; in sctp_assoc_add_peer() 651 peer->flowlabel = asoc->flowlabel; in sctp_assoc_add_peer()
|
/linux-6.3-rc2/drivers/net/ethernet/mellanox/mlxsw/ |
A D | spectrum_nve.h | 17 __be32 flowlabel; member
|
/linux-6.3-rc2/include/trace/events/ |
A D | fib6.h | 45 __entry->tos = ip6_tclass(flp->flowlabel);
|
/linux-6.3-rc2/drivers/net/ipvlan/ |
A D | ipvlan_l3s.c | 70 .flowlabel = ip6_flowinfo(ip6h), in ipvlan_l3_rcv()
|