/linux/tools/testing/selftests/net/forwarding/ |
H A 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 \
|
H A D | tc_flower.sh | 556 flower $tcflags mpls lse depth 1 label 0 action continue 558 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/net/mpls/ |
H A 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() 2581 net->mpls.platform_labels = limit; in resize_platform_label_table() 2663 net->mpls.platform_labels = 0; in mpls_net_init() 2664 net->mpls.platform_label = NULL; in mpls_net_init() 2665 net->mpls.ip_ttl_propagate = 1; in mpls_net_init() 2666 net->mpls.default_ttl = 255; in mpls_net_init() 2680 if (net->mpls.ctl == NULL) { in mpls_net_init() [all …]
|
H A D | mpls_iptunnel.c | 80 !net->mpls.ip_ttl_propagate) in mpls_xmit() 81 ttl = net->mpls.default_ttl; in mpls_xmit() 89 !net->mpls.ip_ttl_propagate) in mpls_xmit() 90 ttl = net->mpls.default_ttl; in mpls_xmit()
|
H A D | Kconfig | 31 Add support for forwarding of mpls packets. 37 mpls ip tunnel support.
|
/linux/tools/testing/selftests/net/ |
H A D | bareudp.sh | 268 ip -netns "${NS0}" route add 2001:db8::203/128 src 2001:db8::200 encap mpls 203 via 2001:db8::11 269 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/drivers/net/ethernet/mellanox/mlx5/core/en/ |
H A D | tc_tun_mplsoudp.c | 35 struct mpls_shim_hdr *mpls; in generate_ip_tun_hdr() local 37 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/Documentation/netlink/specs/ |
H A D | ovs_flow.yaml | 51 name: ovs-key-mpls 55 name: mpls-lse 307 name: mpls-lse 313 name: mpls-ethertype 321 name: ovs-action-add-mpls 325 name: mpls-lse 331 name: mpls-ethertype 550 name: mpls 643 name: push-mpls 651 name: pop-mpls [all …]
|
H A D | tc.yaml | 1238 name: tc-mpls 1725 name: tc-act-mpls-attrs 1734 struct: tc-mpls 2606 name: key-mpls-ttl 2609 name: key-mpls-bos 2612 name: key-mpls-tc 2615 name: key-mpls-label 2713 name: key-mpls-opts 2814 name: tc-flower-key-mpls-opt-attrs 3782 value: mpls [all …]
|
/linux/tools/testing/selftests/bpf/ |
H A D | test_tc_tunnel.sh | 127 for mac in none mpls eth ; do 283 ip netns exec "${ns2}" sysctl -qw net.mpls.platform_labels=65536 284 ip netns exec "${ns2}" ip -f mpls route add 1000 dev lo 286 ip netns exec "${ns2}" sysctl -qw net.mpls.conf.testtun0.input=1
|
/linux/Documentation/networking/ |
H A D | mpls-sysctl.rst | 7 /proc/sys/net/mpls/* Variables: 20 label will be recognized by the kernel and mpls forwarding
|
H A D | index.rst | 74 mpls-sysctl
|
H A D | pktgen.rst | 197 pgset "mpls 0001000a,0002000a,0000000a" set MPLS labels (in this example 211 pgset "mpls 0" turn off mpls (or any invalid argument works too!) 342 mpls
|
/linux/tools/testing/selftests/bpf/progs/ |
H A D | bpf_flow.c | 395 struct mpls_label *mpls, _mpls; in PROG() local 397 mpls = bpf_flow_dissect_get_header(skb, sizeof(*mpls), &_mpls); in PROG() 398 if (!mpls) in PROG()
|
/linux/drivers/infiniband/hw/mlx5/ |
H A D | fs.c | 427 &ib_spec->mpls.mask.tag)) in parse_flow_attr() 432 &ib_spec->mpls.val.tag, in parse_flow_attr() 436 &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() 451 &ib_spec->mpls.mask.tag, in parse_flow_attr() 458 &ib_spec->mpls.mask.tag)) in parse_flow_attr() 463 &ib_spec->mpls.val.tag, in parse_flow_attr() 467 &ib_spec->mpls.mask.tag, in parse_flow_attr() 472 &ib_spec->mpls.mask.tag)) in parse_flow_attr() [all …]
|
/linux/include/net/ |
H A D | flow_dissector.h | 82 static inline void dissector_set_mpls_lse(struct flow_dissector_key_mpls *mpls, in dissector_set_mpls_lse() argument 85 mpls->used_lses |= 1 << lse_index; in dissector_set_mpls_lse()
|
H A D | net_namespace.h | 173 struct netns_mpls mpls; member
|
/linux/net/openvswitch/ |
H A D | actions.c | 214 flow_key->mpls.lse[0] = lse; in set_mpls() 1366 struct ovs_action_push_mpls *mpls = nla_data(a); in do_execute_actions() local 1368 err = push_mpls(skb, key, mpls->mpls_lse, in do_execute_actions() 1369 mpls->mpls_ethertype, skb->mac_len); in do_execute_actions() 1373 struct ovs_action_add_mpls *mpls = nla_data(a); in do_execute_actions() local 1376 if (mpls->tun_flags & OVS_MPLS_L3_TUNNEL_FLAG_MASK) in do_execute_actions() 1379 err = push_mpls(skb, key, mpls->mpls_lse, in do_execute_actions() 1380 mpls->mpls_ethertype, mac_len); in do_execute_actions()
|
H A D | flow.c | 793 memset(&key->mpls, 0, sizeof(key->mpls)); in key_extract_l3l4() 806 memcpy(&key->mpls.lse[label_count - 1], &lse, in key_extract_l3l4() 819 key->mpls.num_labels_mask = GENMASK(label_count - 1, 0); in key_extract_l3l4()
|
H A D | flow_netlink.c | 1683 SW_FLOW_KEY_PUT(match, mpls.lse[i], in ovs_key_from_nlattrs() 1686 SW_FLOW_KEY_PUT(match, mpls.num_labels_mask, in ovs_key_from_nlattrs() 2181 num_labels = hweight_long(output->mpls.num_labels_mask); in __ovs_nla_put_key() 2189 mpls_key[i].mpls_lse = output->mpls.lse[i]; in __ovs_nla_put_key() 3285 const struct ovs_action_add_mpls *mpls = nla_data(a); in __ovs_nla_copy_actions() local 3287 if (!eth_p_mpls(mpls->mpls_ethertype)) in __ovs_nla_copy_actions() 3290 if (mpls->tun_flags & OVS_MPLS_L3_TUNNEL_FLAG_MASK) { in __ovs_nla_copy_actions() 3307 eth_type = mpls->mpls_ethertype; in __ovs_nla_copy_actions() 3312 const struct ovs_action_push_mpls *mpls = nla_data(a); in __ovs_nla_copy_actions() local 3314 if (!eth_p_mpls(mpls->mpls_ethertype)) in __ovs_nla_copy_actions() [all …]
|
H A D | flow.h | 153 } mpls; member
|
/linux/net/ |
H A D | Makefile | 71 obj-$(CONFIG_MPLS) += mpls/
|
/linux/net/sched/ |
H A 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/net/core/ |
H A D | pktgen.c | 2754 static void mpls_push(__be32 *mpls, struct pktgen_dev *pkt_dev) in mpls_push() argument 2758 *mpls++ = pkt_dev->labels[i] & ~MPLS_STACK_BOTTOM; in mpls_push() 2760 mpls--; in mpls_push() 2761 *mpls |= MPLS_STACK_BOTTOM; in mpls_push() 2888 __be32 *mpls; in fill_packet_ipv4() local 2918 mpls = skb_put(skb, pkt_dev->nr_labels * sizeof(__u32)); in fill_packet_ipv4() 2920 mpls_push(mpls, pkt_dev); in fill_packet_ipv4() 3016 __be32 *mpls; in fill_packet_ipv6() local 3046 mpls = skb_put(skb, pkt_dev->nr_labels * sizeof(__u32)); in fill_packet_ipv6() 3048 mpls_push(mpls, pkt_dev); in fill_packet_ipv6()
|
/linux/drivers/net/ethernet/mellanox/mlx5/core/steering/ |
H A D | dr_ste.h | 127 void DR_STE_CTX_BUILDER(mpls);
|