On 11/3/20 5:52 AM, Andrea Mayer wrote: > Before this patch, a sniffer attached to a VRF used as the receiving > interface of L3 tunneled packets detects them as malformed packets and > it complains about that (i.e.: tcpdump shows bogus packets). > > The reason is that a tunneled L3 packet does not carry any L2 > information and when the VRF is set as the receiving interface of a > decapsulated L3 packet, no mac header is currently set or valid. > Therefore, the purpose of this patch consists of adding a MAC header to > any packet which is directly received on the VRF interface ONLY IF: > > i) a sniffer is attached on the VRF and ii) the mac header is not set. > > In this case, the mac address of the VRF is copied in both the > destination and the source address of the ethernet header. The protocol > type is set either to IPv4 or IPv6, depending on which L3 packet is > received. > > Signed-off-by: Andrea Mayer <andrea.mayer@xxxxxxxxxxx> > --- > drivers/net/vrf.c | 78 +++++++++++++++++++++++++++++++++++++++++++---- > 1 file changed, 72 insertions(+), 6 deletions(-) > Reviewed-by: David Ahern <dsahern@xxxxxxxxxx>