From: bugzilla@dpdk.org
To: dev@dpdk.org
Subject: [Bug 890] lib/ip_frag: IPv4 options without copied bit set are present in all fragments
Date: Fri, 26 Nov 2021 12:03:51 +0000 [thread overview]
Message-ID: <bug-890-3@http.bugs.dpdk.org/> (raw)
https://bugs.dpdk.org/show_bug.cgi?id=890
Bug ID: 890
Summary: lib/ip_frag: IPv4 options without copied bit set are
present in all fragments
Product: DPDK
Version: 21.11
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: minor
Priority: Normal
Component: other
Assignee: dev@dpdk.org
Reporter: dsosnowski@nvidia.com
Target Milestone: ---
As of 21.11-rc4 ip_fragmentation library implementation for IPv4 seems to
ignore "copied" bit of IPv4 options. IPv4 options are copied over to all
fragments regardless of "copied" bit set to 0.
Setup assumptions:
1) Two machines:
1.1) Machine A, with two ports, running dpdk-ip_fragmentation example
application.
1.2) Machine B, with two ports, running scapy. Acts as a traffic generator.
Steps to reproduce:
1) Start examples/dpdk-ip_fragmentation application on machine A:
```
sudo ./build/examples/dpdk-ip_fragmentation -a 08:00.0 -a 08:00.1 -- -p 0x3 -q
1
```
2) Start sniffing for traffic using scapy on machine B:
3) Using scapy send a following packet, IP packet with additional NOP option
with copy flag set to 0, from machine B:
```
packet = (
Ether(src='0c:42:a1:d1:d1:8c', dst='0c:42:a1:d1:d0:48') /
IP(src='100.10.0.1', dst='100.20.0.1', options=[IPOption(option=1,
copy_flag=0), IPOption(option=0, copy_flag=0)]) /
UDP(sport=55555, dport=12345) /
Raw(load=b'a' * 2000)
)
```
What should happen:
1) Machine B should receive two IP fragments:
1.1) 1st fragment with IP options present.
1.2) 2nd fragment without IP options.
What actually happens:
1) Machine B receives two IP fragments with IP options present.
--
You are receiving this mail because:
You are the assignee for the bug.
reply other threads:[~2021-11-26 12:03 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=bug-890-3@http.bugs.dpdk.org/ \
--to=bugzilla@dpdk.org \
--cc=dev@dpdk.org \
/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.