linux_dsm_epyc7002/drivers
Eli Cohen f828ca6a2f net/mlx5e: Add support for hw encapsulation of MPLS over UDP
MPLS over UDP is supported by adding a rule on a representor net device
which does tunnel_key set, push mpls and forward to a baredup device. At
the hardware level we use a packet_reformat_context object to do the
encapsulation of the packet.

The resulting packet looks as follows (left side transmitted first):
outer L2 | outer IP | UDP | MPLS | inner L3 and data |

Example usage:
  tc filter add dev $rep0 protocol ip prio 1 root flower skip_sw  \
     action tunnel_key set src_ip 8.8.8.21 dst_ip 8.8.8.24 id 555 \
     dst_port 6635 tos 4 ttl 6 csum action mpls push protocol 0x8847 \
     label 555 tc 3 action mirred egress redirect dev bareudp0

This is how the filter is shown with tc filter show:
tc filter show dev enp59s0f0_0 ingress
filter protocol ip pref 1 flower chain 0
filter protocol ip pref 1 flower chain 0 handle 0x1
  eth_type ipv4
  skip_sw
  in_hw in_hw_count 1
        action order 1: tunnel_key  set
        src_ip 8.8.8.21
        dst_ip 8.8.8.24
        key_id 555
        dst_port 6635
        csum
        tos 0x4
        ttl 6 pipe
         index 1 ref 1 bind 1

        action order 2: mpls  push protocol mpls_uc label 555 tc 3 ttl 255 pipe
         index 1 ref 1 bind 1

        action order 3: mirred (Egress Redirect to device bareudp0) stolen
        index 1 ref 1 bind 1

Signed-off-by: Eli Cohen <eli@mellanox.com>
Reviewed-by: Roi Dayan <roid@mellanox.com>
Reviewed-by: Eli Britstein <elibr@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
2020-05-22 16:46:18 -07:00
..
accessibility
acpi ACPI: EC: PM: Avoid premature returns from acpi_s2idle_wake() 2020-05-11 10:11:38 +02:00
amba amba: Initialize dma_parms for amba devices 2020-04-28 17:44:34 +02:00
android
ata
atm docs: networking: convert iphase.txt to ReST 2020-04-28 14:39:47 -07:00
auxdisplay
base driver core: Ensure wait_for_device_probe() waits until the deferred_probe_timeout fires 2020-04-28 17:57:13 +02:00
bcma
block virtio-blk: handle block_device_operations callbacks after hot unplug 2020-05-02 10:28:13 -04:00
bluetooth Bluetooth: serdev: Constify serdev_device_ops 2020-05-13 09:27:36 +02:00
bus bus: mhi: core: Fix channel device name conflict 2020-05-05 16:59:54 +02:00
cdrom sysctl: pass kernel pointers to ->proc_handler 2020-04-27 02:07:40 -04:00
char Merge branch 'work.sysctl' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2020-04-28 21:23:38 +02:00
clk
clocksource
connector
counter
cpufreq cpufreq: intel_pstate: Only mention the BIOS disabling turbo mode once 2020-04-27 10:30:11 +02:00
cpuidle
crypto Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-05-06 22:10:13 -07:00
dax
dca
devfreq
dio
dma dmaengine: dmatest: Fix process hang when reading 'wait' parameter 2020-04-28 21:46:35 +05:30
dma-buf dma-buf: fix documentation build warnings 2020-04-30 19:47:39 +05:30
edac
eisa
extcon
firewire
firmware gcc-10: mark more functions __init to avoid section mismatch warnings 2020-05-09 17:50:03 -07:00
fpga
fsi
gnss
gpio gpio: tegra: mask GPIO IRQs during IRQ shutdown 2020-04-28 16:22:33 +02:00
gpu Just one meson patch this time to propagate an error code 2020-05-15 16:00:57 +10:00
greybus
hid HID: quirks: Add HID_QUIRK_NO_INIT_REPORTS quirk for Dell K12A keyboard-dock 2020-05-04 11:24:58 +02:00
hsi
hv hyperv-fixes for 5.7-rc4 2020-04-27 13:28:27 -07:00
hwmon hwmon: (da9052) Synchronize access with mfd 2020-05-13 10:06:09 -07:00
hwspinlock
hwtracing
i2c i2c: aspeed: Avoid i2c interrupt status clear race condition. 2020-04-30 16:12:33 +02:00
i3c
ide
idle
iio
infiniband Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-05-15 13:48:59 -07:00
input
interconnect interconnect: qcom: Move the static keyword to the front of declaration 2020-04-29 13:11:44 +02:00
iommu iommu/virtio: Reverse arguments to list_add 2020-05-08 17:31:18 +02:00
ipack
irqchip
isdn
leds
lightnvm
macintosh sysctl: pass kernel pointers to ->proc_handler 2020-04-27 02:07:40 -04:00
mailbox
mcb
md - Document DM integrity allow_discard feature that was added during 2020-04-30 16:45:08 -07:00
media bpf: Implement CAP_BPF 2020-05-15 17:29:41 +02:00
memory
memstick
message
mfd
misc mei: me: disable mei interface on LBG servers. 2020-05-05 16:56:41 +02:00
mmc mmc: sdhci-acpi: Add SDHCI_QUIRK2_BROKEN_64_BIT_DMA for AMDI0040 2020-05-11 10:51:30 +02:00
most most: core: use function subsys_initcall() 2020-04-28 15:04:09 +02:00
mtd
mux
net net/mlx5e: Add support for hw encapsulation of MPLS over UDP 2020-05-22 16:46:18 -07:00
nfc
ntb
nubus
nvdimm
nvme nvme: fix possible hang when ns scanning fails during error recovery 2020-05-09 16:07:58 -06:00
nvmem
of
opp
oprofile
parisc
parport sysctl: pass kernel pointers to ->proc_handler 2020-04-27 02:07:40 -04:00
pci
pcmcia
perf
phy phy: qualcomm: usb-hs-28nm: Prepare clocks in init 2020-04-30 12:10:49 +05:30
pinctrl
platform chrome-platform fixes for v5.7-rc5 2020-05-06 16:40:14 -07:00
pnp
power
powercap
pps
ps3
ptp ptp: ptp_clockmatrix: Add adjphase() to support PHC write phase mode. 2020-05-02 16:31:45 -07:00
pwm
rapidio
ras
regulator regulator: Revert "Use driver_deferred_probe_timeout for regulator_init_complete_work" 2020-04-29 19:57:45 +02:00
remoteproc
reset
rpmsg
rtc
s390 s390/net: remove pm support from iucv drivers 2020-05-19 12:48:39 -07:00
sbus
scsi scsi: ibmvscsi: Fix WARN_ON during event pool release 2020-04-28 22:59:55 -04:00
sfi
sh
siox
slimbus
soc soc: fsl: dpio: properly compute the consumer index 2020-05-07 17:35:24 -07:00
soundwire
spi
spmi
ssb ssb: scan: fix block comments coding style issues 2020-04-28 12:02:22 +03:00
staging Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-05-15 13:48:59 -07:00
target
tc
tee
thermal
thunderbolt thunderbolt: Check return value of tb_sw_read() in usb4_switch_op() 2020-04-28 19:00:59 +02:00
tty TTY/Serial fixes for 5.7-rc5 2020-05-08 08:56:16 -07:00
uio
usb usb: chipidea: msm: Ensure proper controller reset using role switch API 2020-05-07 08:46:35 +02:00
vdpa
vfio
vhost vhost_net: Also populate XDP frame size 2020-05-14 21:21:55 -07:00
video
virt
virtio
visorbus
vlynq
vme
w1
watchdog
xen
zorro
Kconfig
Makefile