On Wed, 23 Sep 2026 12:50:09 -0400 Willem de Bruijn wrote: >> @@ -117,6 +119,7 @@ struct sk_buff *__skb_gso_segment(struct sk_buff *skb, >> >> SKB_GSO_CB(skb)->mac_offset = skb_headroom(skb); >> SKB_GSO_CB(skb)->encap_level = 0; >> + SKB_GSO_CB(skb)->max_segs = min_t(unsigned int, max_segs, U16_MAX); > > Can this use GSO_MAX_SEGS rather than U16_MAX.
Good idea. >> @@ -4975,6 +4979,12 @@ struct sk_buff *skb_segment(struct sk_buff *head_skb, >> >> __copy_skb_header(nskb, head_skb); >> >> + /* >> + * max_segs is a per-call limit, so output skbs must not >> + * inherit it from the input skb. >> + */ >> + SKB_GSO_CB(nskb)->max_segs = 0; >> + > > cb has to be treated as uninitialized between layers. All callers of > __skb_gso_segment should (re)initialize this field. Is it necessary to > clear it here. Note that we do not do that for any other cb fields. I checked again, it is indeed unnecessary, and I will drop it in v3. _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
