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: dsosnow...@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.