IPv6 only allows traffic source nodes to fragment, so submitting a packet with next header of IPPROTO_FRAGMENT would be invalid.
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