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
> 

Reply via email to