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