Home
last modified time | relevance | path

Searched full:mpls (Results 1 – 25 of 110) sorted by relevance

12345

/openbmc/linux/tools/testing/selftests/tc-testing/tc-tests/actions/
H A Dmpls.json4 "name": "Add MPLS dec_ttl action with pipe opcode",
7 "mpls"
11 "$TC actions flush action mpls",
17 "cmdUnderTest": "$TC actions add action mpls dec_ttl pipe index 8",
19 "verifyCmd": "$TC actions list action mpls",
20 "matchPattern": "action order [0-9]+: mpls.*dec_ttl.*pipe.*index 8 ref",
23 "$TC actions flush action mpls"
28 "name": "Add mpls dec_ttl action with pass opcode",
31 "mpls"
35 "$TC actions flush action mpls",
[all …]
/openbmc/linux/net/mpls/
H A DKconfig3 # MPLS configuration
6 menuconfig MPLS config
13 MPLS remains a simple way of making tunnels.
15 If you have not heard of MPLS you probably want to say N here.
17 if MPLS
20 tristate "MPLS: GSO support"
22 This is helper module to allow segmentation of non-MPLS GSO packets
23 that have had MPLS stack entries pushed onto them and thus
24 become MPLS GSO packets.
27 tristate "MPLS: routing support"
[all …]
H A Daf_mpls.c10 #include <linux/mpls.h>
82 if (index < net->mpls.platform_labels) { in mpls_route_input_rcu()
84 rcu_dereference(net->mpls.platform_label); in mpls_route_input_rcu()
300 * the incoming MPLS header, otherwise decrement the in mpls_egress()
305 net->mpls.ip_ttl_propagate)) in mpls_egress()
322 * the incoming MPLS header, otherwise decrement the 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()
[all …]
H A Dmpls_iptunnel.c3 * mpls tunnels An implementation mpls tunnels using the light weight tunnel
12 #include <linux/mpls.h>
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()
302 MODULE_ALIAS_RTNL_LWT(MPLS);
H A Dmpls_gso.c3 * MPLS GSO Support
18 #include <net/mpls.h>
94 pr_info("MPLS GSO support\n"); in mpls_gso_init()
111 MODULE_DESCRIPTION("MPLS GSO support");
/openbmc/linux/Documentation/networking/
H A Dmpls-sysctl.rst4 MPLS Sysfs variables
7 /proc/sys/net/mpls/* Variables:
20 label will be recognized by the kernel and mpls forwarding
32 the MPLS header on imposing labels and propagated from the
33 MPLS header to the IPv4/IPv6 header on popping the last label.
35 If disabled, the MPLS transport network will appear as a
42 Default TTL value to use for MPLS packets where it cannot be
H A Dbareudp.rst12 tunnelling different L3 protocols like MPLS, IP, NSH etc. inside a UDP tunnel.
16 The bareudp device supports special handling for MPLS & IP as they can have
18 MPLS procotcol can have ethertypes ETH_P_MPLS_UC (unicast) & ETH_P_MPLS_MC (multicast).
31 0x8847 (MPLS traffic). The destination port of the UDP header will be set to
39 same family. It is currently only available for IP and MPLS. This mode has to
49 For MPLS, the multiproto mode allows the tunnel to handle both unicast
50 and multicast MPLS packets.
H A Dpktgen.rst196 pgset "mpls 0001000a,0002000a,0000000a" set MPLS labels (in this example
210 pgset "mpls 0" turn off mpls (or any invalid argument works too!)
331 mpls
/openbmc/linux/tools/testing/selftests/net/
H A Dbareudp.sh6 # The bareudp module allows to tunnel network protocols like IP or MPLS over
9 # IPv4, IPv6 or MPLS packets on the overlay).
21 # veth address as gateway. For MPLS reachability tests, an MPLS header is
37 # | (encapsulated with MPLS label 203) |
45 # | Traffic type: IP or MPLS (depending on test)
56 # | * Encapsulate IP or MPLS packets received on veth10 into UDP |
58 # | * Decapsulate bareudp packets (either IP or MPLS, over UDP) |
67 # | Traffic type: IP or MPLS (depending on test), over UDP
78 # | * Decapsulate bareudp packets (either IP or MPLS, over UDP) |
80 # | * Encapsulate IP or MPLS packets received on veth23 into UDP |
[all …]
/openbmc/linux/net/sched/
H A Dact_mpls.c8 #include <linux/mpls.h>
12 #include <net/mpls.h>
65 /* Ensure 'data' points at mac_header prior calling mpls manipulating in tcf_mpls_act()
138 NL_SET_ERR_MSG_MOD(extack, "Invalid MPLS label length"); in valid_label()
143 NL_SET_ERR_MSG_MOD(extack, "MPLS label out of range"); in valid_label()
187 NL_SET_ERR_MSG_MOD(extack, "No MPLS params"); in tcf_mpls_init()
218 NL_SET_ERR_MSG_MOD(extack, "Protocol must be set for MPLS pop"); in tcf_mpls_init()
223 NL_SET_ERR_MSG_MOD(extack, "Invalid protocol type for MPLS pop"); in tcf_mpls_init()
229 NL_SET_ERR_MSG_MOD(extack, "Label, TTL, TC or BOS cannot be used with MPLS pop"); in tcf_mpls_init()
237 NL_SET_ERR_MSG_MOD(extack, "Label, TTL, TC, BOS or protocol cannot be used with MPLS dec_ttl"); in tcf_mpls_init()
[all …]
/openbmc/linux/tools/testing/selftests/net/forwarding/
H A Dtc_mpls_l2vpn.sh16 # | -encapsulate Ethernet into MPLS |
23 # | | -remove MPLS header |
27 # | (Ethernet over MPLS traffic)
33 # | -remove MPLS header |
38 # | | -encapsulate Ethernet into MPLS |
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 Dtc_flower.sh376 # Unfortunately, mausezahn can't build MPLS headers when used in L2
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
[all …]
/openbmc/linux/Documentation/netlink/specs/
H A Dovs_flow.yaml51 name: ovs-key-mpls
55 name: mpls-lse
300 name: ovs-action-push-mpls
304 name: mpls-lse
308 MPLS label stack entry to push
310 name: mpls-ethertype
316 indicating MPLS unicast or multicast. Other are rejected.
318 name: ovs-action-add-mpls
322 name: mpls-lse
326 MPLS label stack entry to push
[all …]
/openbmc/linux/include/uapi/linux/tc_act/
H A Dtc_mpls.h26 TCA_MPLS_LABEL, /* u32; MPLS label. Lower 20 bits are used. */
27 TCA_MPLS_TC, /* u8; MPLS TC field. Lower 3 bits are used. */
28 TCA_MPLS_TTL, /* u8; MPLS TTL field. Must not be 0. */
29 TCA_MPLS_BOS, /* u8; MPLS BOS field. Either 1 or 0. */
/openbmc/linux/tools/testing/selftests/bpf/
H A Dtest_tc_tunnel.sh127 for mac in none mpls eth ; do
159 echo " or: $0 <ipv4|ipv6> <tuntype> <none|mpls|eth> <data_len>"
226 if [[ "$mac" == "mpls" ]]; then
269 if [[ "$tuntype" == "ip6udp" && "$mac" == "mpls" ]]; then
270 # No support for MPLS IPv6 fou tunnel; expect failure.
280 elif [[ "$mac" == "mpls" ]]; then
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
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/
H A Dmpls.c19 NL_SET_ERR_MSG_MOD(extack, "mpls push is supported only for mpls_uc protocol"); in tc_act_can_offload_mpls_push()
59 /* we only support mpls pop if it is the first action in tc_act_can_offload_mpls_pop()
66 NL_SET_ERR_MSG_MOD(extack, "mpls pop supported only as first action or with decap"); in tc_act_can_offload_mpls_pop()
71 NL_SET_ERR_MSG_MOD(extack, "mpls pop supported only on bareudp devices"); in tc_act_can_offload_mpls_pop()
H A Dmirred.c125 NL_SET_ERR_MSG_MOD(extack, "mpls is supported only through a bareudp device"); in tc_act_can_offload_mirred()
130 NL_SET_ERR_MSG_MOD(extack, "vlan pop eth is supported only with mpls push"); in tc_act_can_offload_mirred()
135 NL_SET_ERR_MSG_MOD(extack, "mpls pop is only supported with vlan eth push"); in tc_act_can_offload_mirred()
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/en/
H A Dtc_tun_mplsoudp.c5 #include <net/mpls.h>
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()
/openbmc/linux/tools/testing/selftests/bpf/progs/
H A Dbpf_flow.c18 #include <linux/mpls.h>
35 #define MPLS 4 macro
129 bpf_tail_call_static(skb, &jmp_table, MPLS); in parse_eth_proto()
392 PROG(MPLS)(struct __sk_buff *skb) in PROG() argument
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()
/openbmc/linux/drivers/net/ethernet/intel/ice/
H A Dice_protocol_type.h303 * C = MPLS (0x8847) - There is at least 1 MPLS tag in the outer header
305 * D = MPLS (0x8848) - There is at least 1 MPLS tag in the outer header
307 * E = multi MPLS - There is more than a single MPLS tag in the outer header
308 * F = inner MPLS - There is inner MPLS tag in the packet
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/steering/
H A Ddr_types.h725 u32 outer_first_mpls_label:20; /* First MPLS LABEL (outer) */
726 u32 outer_first_mpls_exp:3; /* First MPLS EXP (outer) */
727 u32 outer_first_mpls_s_bos:1; /* First MPLS S_BOS (outer) */
728 u32 outer_first_mpls_ttl:8; /* First MPLS TTL (outer) */
730 u32 inner_first_mpls_label:20; /* First MPLS LABEL (inner) */
731 u32 inner_first_mpls_exp:3; /* First MPLS EXP (inner) */
732 u32 inner_first_mpls_s_bos:1; /* First MPLS S_BOS (inner) */
733 u32 inner_first_mpls_ttl:8; /* First MPLS TTL (inner) */
735 u32 outer_first_mpls_over_gre_label:20; /* last MPLS LABEL (outer) */
736 u32 outer_first_mpls_over_gre_exp:3; /* last MPLS EXP (outer) */
[all …]
/openbmc/linux/include/uapi/linux/
H A Dmpls_iptunnel.h3 * mpls tunnel api
17 /* MPLS tunnel attributes
H A Dopenvswitch.h706 * @mpls_lse: MPLS label stack entry to push.
710 * %ETH_P_MPLS_MC, indicating MPLS unicast or multicast. Other are rejected.
720 * @mpls_lse: MPLS label stack entry to push.
722 * @tun_flags: MPLS tunnel attributes.
725 * %ETH_P_MPLS_MC, indicating MPLS unicast or multicast. Other are rejected.
734 * insertion of MPLS header.
735 * When false, the MPLS header
738 * When true, the MPLS header
939 * @OVS_ACTION_ATTR_PUSH_MPLS: Push a new MPLS label stack entry onto the
940 * top of the packets MPLS label stack. Set the ethertype of the
[all …]
/openbmc/linux/tools/testing/selftests/tc-testing/tc-tests/infra/
H A Dactions.json27 "name": "Reference mpls action object in filter",
30 "mpls"
35 "$TC action add action mpls pop protocol ipv4 index 1"
37 …$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action mpls index 1",
45 "$TC actions flush action mpls"
/openbmc/linux/drivers/infiniband/hw/mlx5/
H A Dfs.c427 &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 …]

12345