> IPv6 only allows traffic source nodes to fragment, Yes.
> so submitting > a packet with next header of IPPROTO_FRAGMENT would be invalid. If only source is allowed to fragment packet, then this check seems redundant, no? I can't imagine source calling fragment() twice for the same packet, and I don't see any point for us to check such situations. Besides, strictly speaking the check below is insufficient, as fragmentation ext header could be not the first one. Konstantin > > Signed-off-by: Aaron Conole <acon...@redhat.com> > --- > lib/librte_ip_frag/rte_ipv6_fragmentation.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/lib/librte_ip_frag/rte_ipv6_fragmentation.c > b/lib/librte_ip_frag/rte_ipv6_fragmentation.c > index 820a5dc725..aebcfa4325 100644 > --- a/lib/librte_ip_frag/rte_ipv6_fragmentation.c > +++ b/lib/librte_ip_frag/rte_ipv6_fragmentation.c > @@ -106,6 +106,10 @@ rte_ipv6_fragment_packet(struct rte_mbuf *pkt_in, > > in_hdr = rte_pktmbuf_mtod(pkt_in, struct rte_ipv6_hdr *); > > + /* Fragmenting a fragmented packet?! */ > + if (unlikely(in_hdr->proto == IPPROTO_FRAGMENT)) > + return -ENOTSUP; > + > in_seg = pkt_in; > in_seg_data_pos = sizeof(struct rte_ipv6_hdr); > out_pkt_pos = 0; > -- > 2.25.1