From: Aaron Conole <aconole@redhat.com>
To: "Ananyev\, Konstantin" <konstantin.ananyev@intel.com>
Cc: "dev\@dpdk.org" <dev@dpdk.org>,
Sunil Kumar Kori <skori@marvell.com>, "Burakov\,
Anatoly" <anatoly.burakov@intel.com>,
Chas Williams <chas3@att.com>, "Richardson\,
Bruce" <bruce.richardson@intel.com>,
David Marchand <david.marchand@redhat.com>
Subject: Re: [dpdk-dev] [PATCH v3 3/4] ip_frag: ipv6 fragments must not be resubmitted to fragmentation
Date: Tue, 07 Apr 2020 08:40:58 -0400 [thread overview]
Message-ID: <f7t369fbh9h.fsf@dhcp-25.97.bos.redhat.com> (raw)
In-Reply-To: <BYAPR11MB25491810307D78BE1C241B579AC30@BYAPR11MB2549.namprd11.prod.outlook.com> (Konstantin Ananyev's message of "Tue, 7 Apr 2020 10:43:15 +0000")
"Ananyev, Konstantin" <konstantin.ananyev@intel.com> writes:
>> 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?
Hrrm? How so? Is there something that prevents someone from calling
the library function twice?
> 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.
Should we not check any error conditions at all? I don't understand.
> Besides, strictly speaking the check below is insufficient,
> as fragmentation ext header could be not the first one.
You're right - we could probably walk next headers until we see one of
the auth header types or upper layer header as "next header". I can
respin with that if you'd like.
> Konstantin
>
>>
>> Signed-off-by: Aaron Conole <aconole@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
next prev parent reply other threads:[~2020-04-07 12:41 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-31 16:07 [dpdk-dev] [PATCH 0/4] ip_frag: add a unit test for fragmentation Aaron Conole
2020-03-31 16:07 ` [dpdk-dev] [PATCH 1/4] ip_frag: ensure minimum v4 fragmentation length Aaron Conole
2020-03-31 16:07 ` [dpdk-dev] [PATCH 2/4] ip_frag: ensure minimum v6 " Aaron Conole
2020-03-31 16:07 ` [dpdk-dev] [PATCH 3/4] ip_frag: ipv6 fragments must not be resubmitted to fragmentation Aaron Conole
2020-03-31 16:07 ` [dpdk-dev] [PATCH 4/4] ipfrag: add unit test case Aaron Conole
[not found] ` <20200331200715.13751-1-robot@bytheb.org>
2020-03-31 21:12 ` [dpdk-dev] |WARNING| pw67494 " Aaron Conole
2020-04-01 13:18 ` [dpdk-dev] [PATCH v2 0/4] ip_frag: add a unit test for fragmentation Aaron Conole
2020-04-01 13:18 ` [dpdk-dev] [PATCH v2 1/4] ip_frag: ensure minimum v4 fragmentation length Aaron Conole
2020-04-01 13:18 ` [dpdk-dev] [PATCH v2 2/4] ip_frag: ensure minimum v6 " Aaron Conole
2020-04-01 13:18 ` [dpdk-dev] [PATCH v2 3/4] ip_frag: ipv6 fragments must not be resubmitted to fragmentation Aaron Conole
2020-04-01 13:18 ` [dpdk-dev] [PATCH v2 4/4] ipfrag: add unit test case Aaron Conole
2020-04-01 18:39 ` [dpdk-dev] [PATCH v3 0/4] ip_frag: add a unit test for fragmentation Aaron Conole
2020-04-01 18:39 ` [dpdk-dev] [PATCH v3 1/4] ip_frag: ensure minimum v4 fragmentation length Aaron Conole
2020-04-07 11:10 ` Ananyev, Konstantin
2020-04-07 12:52 ` Aaron Conole
2020-04-07 14:14 ` Ananyev, Konstantin
2020-04-07 18:41 ` Aaron Conole
2020-04-08 12:37 ` Ananyev, Konstantin
2020-04-08 15:45 ` Aaron Conole
2020-04-01 18:39 ` [dpdk-dev] [PATCH v3 2/4] ip_frag: ensure minimum v6 " Aaron Conole
2020-04-07 10:48 ` Ananyev, Konstantin
2020-04-01 18:39 ` [dpdk-dev] [PATCH v3 3/4] ip_frag: ipv6 fragments must not be resubmitted to fragmentation Aaron Conole
2020-04-07 10:43 ` Ananyev, Konstantin
2020-04-07 12:40 ` Aaron Conole [this message]
2020-04-01 18:39 ` [dpdk-dev] [PATCH v3 4/4] ipfrag: add unit test case Aaron Conole
2020-04-04 15:58 ` Pavan Nikhilesh Bhagavatula
2020-04-15 17:25 ` [dpdk-dev] [PATCH v4 0/3] ip_frag: add a unit test for fragmentation Aaron Conole
2020-04-15 17:25 ` [dpdk-dev] [PATCH v4 1/3] ip_frag: ensure minimum v4 fragmentation length Aaron Conole
2020-04-17 11:52 ` Lukasz Wojciechowski
2020-04-15 17:25 ` [dpdk-dev] [PATCH v4 2/3] ip_frag: ensure minimum v6 " Aaron Conole
2020-04-17 11:52 ` Lukasz Wojciechowski
2020-04-15 17:25 ` [dpdk-dev] [PATCH v4 3/3] ipfrag: add unit test case Aaron Conole
2020-04-16 15:30 ` Lukasz Wojciechowski
2020-04-16 18:52 ` Aaron Conole
2020-04-17 13:14 ` [dpdk-dev] [PATCH v5 0/3] ip_frag: add a unit test for fragmentation Aaron Conole
2020-04-17 13:14 ` [dpdk-dev] [PATCH v5 1/3] ip_frag: ensure minimum v4 fragmentation length Aaron Conole
2020-04-20 12:50 ` Ananyev, Konstantin
2020-04-20 15:24 ` Aaron Conole
2020-04-17 13:14 ` [dpdk-dev] [PATCH v5 2/3] ip_frag: ensure minimum v6 " Aaron Conole
2020-04-20 12:53 ` Ananyev, Konstantin
2020-04-20 15:26 ` Aaron Conole
2020-04-20 15:43 ` Ananyev, Konstantin
2020-04-17 13:14 ` [dpdk-dev] [PATCH v5 3/3] ipfrag: add unit test case Aaron Conole
2020-04-17 14:14 ` Lukasz Wojciechowski
2020-04-20 16:03 ` Burakov, Anatoly
2020-04-20 17:34 ` Aaron Conole
2020-04-25 12:18 ` Thomas Monjalon
2020-04-20 19:25 ` [dpdk-dev] [PATCH v6 0/3] ip_frag: add a unit test for fragmentation Aaron Conole
2020-04-20 19:25 ` [dpdk-dev] [PATCH v6 1/3] ip_frag: ensure minimum v4 fragmentation length Aaron Conole
2020-04-21 11:04 ` Lukasz Wojciechowski
2020-04-20 19:25 ` [dpdk-dev] [PATCH v6 2/3] ip_frag: ensure minimum v6 " Aaron Conole
2020-04-21 11:04 ` Lukasz Wojciechowski
2020-04-20 19:25 ` [dpdk-dev] [PATCH v6 3/3] ipfrag: add unit test case Aaron Conole
2020-04-21 11:03 ` Lukasz Wojciechowski
2020-04-25 13:16 ` [dpdk-dev] [PATCH v6 0/3] ip_frag: add a unit test for fragmentation Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f7t369fbh9h.fsf@dhcp-25.97.bos.redhat.com \
--to=aconole@redhat.com \
--cc=anatoly.burakov@intel.com \
--cc=bruce.richardson@intel.com \
--cc=chas3@att.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=konstantin.ananyev@intel.com \
--cc=skori@marvell.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.