On 03/13/2018 05:26 PM, Eric Dumazet wrote:

On 03/13/2018 05:04 PM, Alexei Starovoitov wrote:
On 3/13/18 4:27 PM, Eric Dumazet wrote:

On 03/13/2018 04:09 PM, Alexei Starovoitov wrote:

we have bpf_skb_proto_6_to_4() that was used by cilium for long time.
It's not clear why it's not crashing there, but we cannot just
reject changing proto in bpf programs now.
We have to fix whatever needs to be fixed in skb_segment
(if bug is there) or fix whatever necessary on mlx5 side.
In bpf helper we mark it as SKB_GSO_DODGY just like packets coming
through virtio would do, so if skb_segment() needs to do something
special with skb the SKB_GSO_DODGY flag is already there.

'Fixing' skb_segment(), I did that a long time ago and Herbert Xu was
not happy with the fix and provided something else.

any link to your old patches and discussion?

I think since mlx4 can do tso on them and the packets came out
correct on the wire, there is nothing fundamentally wrong with
changing gso_size. Just tricky to teach skb_segment.

The world is not mlx4 only. Some NIC will ask skb_segment() fallback segmentation for various reasons (like skb->len above a given limit like 16KB)

Maybe https://www.spinics.net/lists/netdev/msg255549.html

Herbert patch :

commit 9d8506cc2d7ea1f911c72c100193a3677f6668c3
Author: Herbert Xu <herb...@gondor.apana.org.au>
Date:   Thu Nov 21 11:10:04 2013 -0800

    gso: handle new frag_list of frags GRO packets

Reply via email to