On Wed, Mar 7, 2018 at 3:38 PM, William Tu [off-list ref] wrote:
When sending a packet to a tunnel device, the dev's hard_header_len
could be larger than the skb->len in function packet_length().
In the case of ip6gretap/erspan, hard_header_len = LL_MAX_HEADER + t_hlen,
which is around 180, and an ARP packet sent to this tunnel has
skb->len = 42. This causes the 'unsign int length' to become super
large because it is negative value, causing the later ovs_vport_send
to drop it due to over-mtu size. The patch fixes it by setting it to 0.
Signed-off-by: William Tu <redacted>
---
v1->v2:
replace the return type from unsigned int to int
---
Acked-by: Pravin B Shelar <redacted>