| /Linux-v6.6/tools/testing/selftests/net/forwarding/ | 
| D | tc_mpls_l2vpn.sh | 84 	   action mpls mac_push label 102                           \94 	   action mpls pop protocol teb             \
 113 	   action mpls mac_push label 101                           \
 123 	   action mpls pop protocol teb             \
 
 | 
| D | tc_flower.sh | 556 		flower $tcflags mpls lse depth 1 label 0 action continue558 		flower $tcflags mpls lse depth 1 tc 0 action continue
 560 		flower $tcflags mpls lse depth 1 bos 0 action continue
 562 		flower $tcflags mpls lse depth 1 ttl 0 action continue
 566 		flower $tcflags mpls lse depth 2 label 1048575 action continue
 568 		flower $tcflags mpls lse depth 2 tc 7 action continue
 570 		flower $tcflags mpls lse depth 2 bos 1 action continue
 572 		flower $tcflags mpls lse depth 2 ttl 255 action continue
 576 		flower $tcflags mpls lse depth 1 action continue
 578 		flower $tcflags mpls lse depth 2 action continue
 [all …]
 
 | 
| /Linux-v6.6/net/mpls/ | 
| D | af_mpls.c | 82 	if (index < net->mpls.platform_labels) {  in mpls_route_input_rcu()84 			rcu_dereference(net->mpls.platform_label);  in mpls_route_input_rcu()
 305 		     net->mpls.ip_ttl_propagate))  in mpls_egress()
 327 		     net->mpls.ip_ttl_propagate))  in mpls_egress()
 562 	platform_label = rtnl_dereference(net->mpls.platform_label);  in mpls_route_update()
 578 	platform_label = rtnl_dereference(net->mpls.platform_label);  in find_free_label()
 579 	platform_labels = net->mpls.platform_labels;  in find_free_label()
 953 	if (is_ok && *index >= net->mpls.platform_labels) {  in mpls_label_ok()
 959 	*index = array_index_nospec(*index, net->mpls.platform_labels);  in mpls_label_ok()
 994 	platform_label = rtnl_dereference(net->mpls.platform_label);  in mpls_route_add()
 [all …]
 
 | 
| D | mpls_iptunnel.c | 82 			 !net->mpls.ip_ttl_propagate)  in mpls_xmit()83 			ttl = net->mpls.default_ttl;  in mpls_xmit()
 91 			 !net->mpls.ip_ttl_propagate)  in mpls_xmit()
 92 			ttl = net->mpls.default_ttl;  in mpls_xmit()
 
 | 
| D | Kconfig | 31 	 Add support for forwarding of mpls packets.37 	 mpls ip tunnel support.
 
 | 
| /Linux-v6.6/tools/testing/selftests/net/ | 
| D | bareudp.sh | 268 	ip -netns "${NS0}" route add 2001:db8::203/128 src 2001:db8::200 encap mpls 203 via 2001:db8::11269 	ip -netns "${NS3}" route add 2001:db8::200/128 src 2001:db8::203 encap mpls 200 via 2001:db8::32
 273 	ip netns exec "${NS1}" sysctl -qw net.mpls.platform_labels=256
 274 	ip netns exec "${NS2}" sysctl -qw net.mpls.platform_labels=256
 275 	ip -netns "${NS1}" -family mpls route add 200 via inet6 2001:db8::10
 276 	ip -netns "${NS2}" -family mpls route add 203 via inet6 2001:db8::33
 426 		ip netns exec "${NS1}" sysctl -qw net.mpls.conf.bareudp_ns1.input=1
 427 		ip netns exec "${NS2}" sysctl -qw net.mpls.conf.bareudp_ns2.input=1
 
 | 
| /Linux-v6.6/drivers/net/ethernet/mellanox/mlx5/core/en/ | 
| D | tc_tun_mplsoudp.c | 35 	struct mpls_shim_hdr *mpls;  in generate_ip_tun_hdr()  local37 	mpls = (struct mpls_shim_hdr *)(udp + 1);  in generate_ip_tun_hdr()
 41 	*mpls = mpls_entry_encode(mpls_info->label, mpls_info->ttl, mpls_info->tc, mpls_info->bos);  in generate_ip_tun_hdr()
 
 | 
| /Linux-v6.6/tools/testing/selftests/bpf/ | 
| D | test_tc_tunnel.sh | 118 	for mac in none mpls eth ; do272 	ip netns exec "${ns2}" sysctl -qw net.mpls.platform_labels=65536
 273 	ip netns exec "${ns2}" ip -f mpls route add 1000 dev lo
 275 	ip netns exec "${ns2}" sysctl -qw net.mpls.conf.testtun0.input=1
 
 | 
| /Linux-v6.6/Documentation/networking/ | 
| D | mpls-sysctl.rst | 7 /proc/sys/net/mpls/* Variables:20 	label will be recognized by the kernel and mpls forwarding
 
 | 
| D | index.rst | 74    mpls-sysctl
 | 
| D | pktgen.rst | 196  pgset "mpls 0001000a,0002000a,0000000a" set MPLS labels (in this example210  pgset "mpls 0"		  turn off mpls (or any invalid argument works too!)
 331     mpls
 
 | 
| /Linux-v6.6/tools/testing/selftests/bpf/progs/ | 
| D | bpf_flow.c | 395 	struct mpls_label *mpls, _mpls;  in PROG()  local397 	mpls = bpf_flow_dissect_get_header(skb, sizeof(*mpls), &_mpls);  in PROG()
 398 	if (!mpls)  in PROG()
 
 | 
| /Linux-v6.6/drivers/infiniband/hw/mlx5/ | 
| D | fs.c | 427 						   &ib_spec->mpls.mask.tag))  in parse_flow_attr()432 			       &ib_spec->mpls.val.tag,  in parse_flow_attr()
 433 			       sizeof(ib_spec->mpls.val.tag));  in parse_flow_attr()
 436 			       &ib_spec->mpls.mask.tag,  in parse_flow_attr()
 437 			       sizeof(ib_spec->mpls.mask.tag));  in parse_flow_attr()
 442 						   &ib_spec->mpls.mask.tag))  in parse_flow_attr()
 447 			       &ib_spec->mpls.val.tag,  in parse_flow_attr()
 448 			       sizeof(ib_spec->mpls.val.tag));  in parse_flow_attr()
 451 			       &ib_spec->mpls.mask.tag,  in parse_flow_attr()
 452 			       sizeof(ib_spec->mpls.mask.tag));  in parse_flow_attr()
 [all …]
 
 | 
| /Linux-v6.6/include/net/ | 
| D | flow_dissector.h | 82 static inline void dissector_set_mpls_lse(struct flow_dissector_key_mpls *mpls,  in dissector_set_mpls_lse()  argument85 	mpls->used_lses |= 1 << lse_index;  in dissector_set_mpls_lse()
 
 | 
| D | net_namespace.h | 175 	struct netns_mpls	mpls;  member
 | 
| /Linux-v6.6/net/openvswitch/ | 
| D | actions.c | 214 	flow_key->mpls.lse[0] = lse;  in set_mpls()1353 			struct ovs_action_push_mpls *mpls = nla_data(a);  in do_execute_actions()  local
 1355 			err = push_mpls(skb, key, mpls->mpls_lse,  in do_execute_actions()
 1356 					mpls->mpls_ethertype, skb->mac_len);  in do_execute_actions()
 1360 			struct ovs_action_add_mpls *mpls = nla_data(a);  in do_execute_actions()  local
 1363 			if (mpls->tun_flags & OVS_MPLS_L3_TUNNEL_FLAG_MASK)  in do_execute_actions()
 1366 			err = push_mpls(skb, key, mpls->mpls_lse,  in do_execute_actions()
 1367 					mpls->mpls_ethertype, mac_len);  in do_execute_actions()
 
 | 
| D | flow.c | 792 		memset(&key->mpls, 0, sizeof(key->mpls));  in key_extract_l3l4()805 				memcpy(&key->mpls.lse[label_count - 1], &lse,  in key_extract_l3l4()
 818 		key->mpls.num_labels_mask = GENMASK(label_count - 1, 0);  in key_extract_l3l4()
 
 | 
| D | flow_netlink.c | 1670 			SW_FLOW_KEY_PUT(match, mpls.lse[i],  in ovs_key_from_nlattrs()1673 		SW_FLOW_KEY_PUT(match, mpls.num_labels_mask,  in ovs_key_from_nlattrs()
 2168 		num_labels = hweight_long(output->mpls.num_labels_mask);  in __ovs_nla_put_key()
 2176 			mpls_key[i].mpls_lse = output->mpls.lse[i];  in __ovs_nla_put_key()
 3258 			const struct ovs_action_add_mpls *mpls = nla_data(a);  in __ovs_nla_copy_actions()  local
 3260 			if (!eth_p_mpls(mpls->mpls_ethertype))  in __ovs_nla_copy_actions()
 3263 			if (mpls->tun_flags & OVS_MPLS_L3_TUNNEL_FLAG_MASK) {  in __ovs_nla_copy_actions()
 3280 			eth_type = mpls->mpls_ethertype;  in __ovs_nla_copy_actions()
 3285 			const struct ovs_action_push_mpls *mpls = nla_data(a);  in __ovs_nla_copy_actions()  local
 3287 			if (!eth_p_mpls(mpls->mpls_ethertype))  in __ovs_nla_copy_actions()
 [all …]
 
 | 
| D | flow.h | 153 		} mpls;  member
 | 
| /Linux-v6.6/net/ | 
| D | Makefile | 72 obj-$(CONFIG_MPLS)		+= mpls/
 | 
| /Linux-v6.6/net/sched/ | 
| D | act_mpls.c | 258 			mpls_ttl = net->mpls.default_ttl ?  in tcf_mpls_init()259 				   net->mpls.default_ttl : ACT_MPLS_TTL_DEFAULT;  in tcf_mpls_init()
 
 | 
| /Linux-v6.6/net/core/ | 
| D | pktgen.c | 2733 static void mpls_push(__be32 *mpls, struct pktgen_dev *pkt_dev)  in mpls_push()  argument2737 		*mpls++ = pkt_dev->labels[i] & ~MPLS_STACK_BOTTOM;  in mpls_push()
 2739 	mpls--;  in mpls_push()
 2740 	*mpls |= MPLS_STACK_BOTTOM;  in mpls_push()
 2867 	__be32 *mpls;  in fill_packet_ipv4()  local
 2897 	mpls = skb_put(skb, pkt_dev->nr_labels * sizeof(__u32));  in fill_packet_ipv4()
 2899 		mpls_push(mpls, pkt_dev);  in fill_packet_ipv4()
 2995 	__be32 *mpls;  in fill_packet_ipv6()  local
 3025 	mpls = skb_put(skb, pkt_dev->nr_labels * sizeof(__u32));  in fill_packet_ipv6()
 3027 		mpls_push(mpls, pkt_dev);  in fill_packet_ipv6()
 
 | 
| /Linux-v6.6/drivers/net/ethernet/mellanox/mlx5/core/steering/ | 
| D | dr_ste.h | 127 	void DR_STE_CTX_BUILDER(mpls);
 | 
| /Linux-v6.6/net/wireless/ | 
| D | util.c | 952 		struct mpls_label mpls_tmp, *mpls;  in cfg80211_classify8021d()  local954 		mpls = skb_header_pointer(skb, sizeof(struct ethhdr),  in cfg80211_classify8021d()
 955 					  sizeof(*mpls), &mpls_tmp);  in cfg80211_classify8021d()
 956 		if (!mpls)  in cfg80211_classify8021d()
 959 		ret = (ntohl(mpls->entry) & MPLS_LS_TC_MASK)  in cfg80211_classify8021d()
 
 | 
| /Linux-v6.6/drivers/net/ethernet/mellanox/mlx5/core/ | 
| D | Makefile | 55 					en/tc/act/vlan.o en/tc/act/vlan_mangle.o en/tc/act/mpls.o \
 |