Hi Jiayu, > > > Linux supports two kinds of IP identifier: fixed identifier and > > > incremental > > identifier, and > > > which one to use depends on upper protocol modules. Specifically, if the > > protocol module > > > wants fixed identifiers, it will set SKB_GSO_TCP_FIXEDID to skb->gso_type, > > and then > > > inet_gso_segment() will keep identifiers the same. Otherwise, all segments > > will have > > > incremental identifiers. The reason for this design is that some protocols > > may choose fixed > > > IP identifiers, like TCP (from RFC791). This design also shows that linux > > ignores the issue > > > of repeated IP identifiers. > > > > > > From the perspective of DPDK, we need to solve two problems. One is if > > ignore the issue of > > > repeated IP identifiers. The other is if the GSO library provides an > > > interface > > to upper > > > applications to enable them to choose fixed or incremental identifiers, or > > simply uses > > > incremental IP identifiers. > > > > > > Do you have any suggestions? > > > > > > Do the same as Linux? > > I.E. add some flag RRE_GSO_IPID_FIXED (or so) into gso_ctx? > > OK, I see. We can do that. > > In the GRO library, we check if the IP identifiers are incremental > compulsorily. If we > enable fixed IP identifier in GSO, it seems we also need to change the GRO > library. > I mean ignore IP identifier when merge packets, and don't update the IP > identifier > for the merged packet. What do you think of it?
I suppose we can, if there is a use-case for it. Konstantin >