7a2d6d99a4
VXLAN encap rules are applied to the VF ingress traffic and have the VTEP as actual redirection destinations instead of outer PF. The encapsulation rule should provide: - redirection action VF->PF - VF port ID - some inner network parameters (MACs/IP) - the tunnel outer source IP (v4/v6) - the tunnel outer destination IP (v4/v6). Current - VNI - Virtual Network Identifier There is no direct way found to provide kernel with all required encapsulatioh header parameters. The encapsulation VTEP is created attached to the outer interface and assumed as default path for egress encapsulated traffic. The outer tunnel IP address are assigned to interface using Netlink, the implicit route is created like this: ip addr add <src_ip> peer <dst_ip> dev <outer> scope link Peer address provides implicit route, and scode link reduces the risk of conflicts. At initialization time all local scope link addresses are flushed from device (see next part of patchset). The destination MAC address is provided via permenent neigh rule: ip neigh add dev <outer> lladdr <dst_mac> to <dst_ip> nud permanent At initialization time all neigh rules of this type are flushed from device (see the next part of patchset). Suggested-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Yongseok Koh <yskoh@mellanox.com> |
||
---|---|---|
.. | ||
Makefile | ||
meson.build | ||
mlx5_defs.h | ||
mlx5_ethdev.c | ||
mlx5_flow_dv.c | ||
mlx5_flow_tcf.c | ||
mlx5_flow_verbs.c | ||
mlx5_flow.c | ||
mlx5_flow.h | ||
mlx5_glue.c | ||
mlx5_glue.h | ||
mlx5_mac.c | ||
mlx5_mr.c | ||
mlx5_mr.h | ||
mlx5_nl.c | ||
mlx5_prm.h | ||
mlx5_rss.c | ||
mlx5_rxmode.c | ||
mlx5_rxq.c | ||
mlx5_rxtx_vec_neon.h | ||
mlx5_rxtx_vec_sse.h | ||
mlx5_rxtx_vec.c | ||
mlx5_rxtx_vec.h | ||
mlx5_rxtx.c | ||
mlx5_rxtx.h | ||
mlx5_socket.c | ||
mlx5_stats.c | ||
mlx5_trigger.c | ||
mlx5_txq.c | ||
mlx5_utils.h | ||
mlx5_vlan.c | ||
mlx5.c | ||
mlx5.h | ||
rte_pmd_mlx5_version.map |