Konstantin, What do you think about this issue and the patch?
Thanks, Cristian > -----Original Message----- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Piotr > Sent: Wednesday, September 2, 2015 3:13 PM > To: dev at dpdk.org > Subject: [dpdk-dev] [PATCH 1/1] ip_frag: fix creating ipv6 fragment > extension header > > From: Piotr Azarewicz <piotrx.t.azarewicz at intel.com> > > Previous implementation won't work on every environment. The order of > allocation of bit-fields within a unit (high-order to low-order or > low-order to high-order) is implementation-defined. > Solution: used bytes instead of bit fields. > > Signed-off-by: Piotr Azarewicz <piotrx.t.azarewicz at intel.com> > --- > lib/librte_ip_frag/rte_ipv6_fragmentation.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/lib/librte_ip_frag/rte_ipv6_fragmentation.c > b/lib/librte_ip_frag/rte_ipv6_fragmentation.c > index 0e32aa8..7342421 100644 > --- a/lib/librte_ip_frag/rte_ipv6_fragmentation.c > +++ b/lib/librte_ip_frag/rte_ipv6_fragmentation.c > @@ -65,10 +65,8 @@ __fill_ipv6hdr_frag(struct ipv6_hdr *dst, > > fh = (struct ipv6_extension_fragment *) ++dst; > fh->next_header = src->proto; > - fh->reserved1 = 0; > - fh->frag_offset = rte_cpu_to_be_16(fofs); > - fh->reserved2 = 0; > - fh->more_frags = rte_cpu_to_be_16(mf); > + fh->reserved1 = 0; > + fh->frag_data = rte_cpu_to_be_16((fofs & ~IPV6_HDR_FO_MASK) | > mf); > fh->id = 0; > } > > -- > 1.7.9.5