Hi there, > > Thanks, Ole, your patch works! May consider how to implement an optimized > one. :-)
Yes, please. ;-) > > BTW. I'm curious why it is IPv4 fragmentation error, not reassembly. > From the trace, looks like dpdk-input node receives two fragmented packets, > then try to reassemble them, then fail. Is my understanding not right? > Thanks. From the trace it looks like it’s the ICMP echo response that’s getting fragmented (after the request was reassembled.). Cheers, Ole > > -----Original Message----- > From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of Ole Troan > Sent: Monday, August 06, 2018 4:35 PM > To: Ni, Hongjun <hongjun...@intel.com> > Cc: vpp-dev <vpp-dev@lists.fd.io>; Hu, Xuekun <xuekun...@intel.com> > Subject: Re: [vpp-dev] IP reassembly doesn't work in VPP 18.07 > > Looks to me like it’s IPv4 fragmentation that fails, not reassembly. > Currently fragmentation on buffer chains isn’t supported. > Try this patch for an ugly hack: https://gerrit.fd.io/r/#/c/13918/ > > Cheers, > Ole > >> On 6 Aug 2018, at 08:34, Ni, Hongjun <hongjun...@intel.com> wrote: >> >> Hi all, >> >> We performed below test on VPP 18.07, and it seems that IP reassembly >> doesn't work in VPP 18.07. >> >> Below is the test topology: >> Machine A is the VPP DUT, while machine B is just a standard Linux server. >> Network topology: Machine A (VPP) <----> Machine B ; And set both MTU >> to 1500 >> Issue: “ping A_ip -s 2000” at B doesn’t get reply from A; While from VPP >> (A), “ping B_ip size 1900” does. >> >> Could you help to take a look at this issue? Thanks a lot. >> >> Below is the configuration and packet trace: >> VPP CLI: >> set interface state TenGigabitEthernetaf/0/1 up >> set interface ip address TenGigabitEthernetaf/0/1 >> 10.1.1.2/24 set interface mtu 1500 TenGigabitEthernetaf/0/1 set >> interface reassembly TenGigabitEthernetaf/0/1 on vpp# show errors >> 314 ip4-frag malformed packet >> Vpp# show trace >> Packet 1 >> >> 00:04:02:492398: dpdk-input >> TenGigabitEthernetaf/0/1 rx queue 0 >> buffer 0x2556: current data 14, length 1500, free-list 0, clone-count 0, >> totlen-nifb 0, trace 0x0 >> ext-hdr-valid >> l4-cksum-computed l4-cksum-correct l2-hdr-offset 0 >> PKT MBUF: port 0, nb_segs 1, pkt_len 1514 >> buf_len 2176, data_len 1514, ol_flags 0x180, data_off 128, phys_addr >> 0x80095600 >> packet_type 0x391 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0 >> rss 0x0 fdir.hi 0x0 fdir.lo 0x0 >> Packet Offload Flags >> PKT_RX_IP_CKSUM_GOOD (0x0080) IP cksum of RX pkt. is valid >> PKT_RX_L4_CKSUM_GOOD (0x0100) L4 cksum of RX pkt. is valid >> Packet Types >> RTE_PTYPE_L2_ETHER (0x0001) Ethernet packet >> RTE_PTYPE_L3_IPV4_EXT_UNKNOWN (0x0090) IPv4 packet with or without >> extension headers >> RTE_PTYPE_L4_FRAG (0x0300) Fragmented IP packet >> IP4: 68:05:ca:3a:19:18 -> 3c:fd:fe:a9:cc:ed >> ICMP: 10.1.1.1 -> 10.1.1.2 >> tos 0x00, ttl 64, length 1500, checksum 0x2eb6 >> fragment id 0x1067, flags MORE_FRAGMENTS >> ICMP echo_request checksum 0x496a >> 00:04:02:492403: ip4-input-no-checksum >> ICMP: 10.1.1.1 -> 10.1.1.2 >> tos 0x00, ttl 64, length 1500, checksum 0x2eb6 >> fragment id 0x1067, flags MORE_FRAGMENTS >> ICMP echo_request checksum 0x496a >> 00:04:02:492406: ip4-reassembly-feature >> reass id: 1000000118, op id: 0 first bi: 9558, data len: 1480, >> ip/fragment[0, 1479] >> new range: [0, 1479], off 0, len 1480, bi >> 9558 >> reass id: 1000000118, op id: 2 first bi: 9558, data len: 2008, >> ip/fragment[0, 1479] >> finalize reassembly >> 00:04:02:492434: ip4-lookup >> fib 0 dpo-idx 5 flow hash: 0x00000000 >> ICMP: 10.1.1.1 -> 10.1.1.2 >> tos 0x00, ttl 64, length 2028, checksum 0x4ca6 >> fragment id 0x1067 >> ICMP echo_request checksum 0x496a >> 00:04:02:492435: ip4-local >> ICMP: 10.1.1.1 -> 10.1.1.2 >> tos 0x00, ttl 64, length 2028, checksum 0x4ca6 >> fragment id 0x1067 >> ICMP echo_request checksum 0x496a >> 00:04:02:492436: ip4-icmp-input >> ICMP: 10.1.1.1 -> 10.1.1.2 >> tos 0x00, ttl 64, length 2028, checksum 0x4ca6 >> fragment id 0x1067 >> ICMP echo_request checksum 0x496a >> 00:04:02:492436: ip4-icmp-echo-request >> ICMP: 10.1.1.1 -> 10.1.1.2 >> tos 0x00, ttl 64, length 2028, checksum 0x4ca6 >> fragment id 0x1067 >> ICMP echo_request checksum 0x496a >> 00:04:02:492436: ip4-load-balance >> fib 0 dpo-idx 13 flow hash: 0x00000000 >> ICMP: 10.1.1.2 -> 10.1.1.1 >> tos 0x00, ttl 64, length 2028, checksum 0x2d49 >> fragment id 0x2fc4 >> ICMP echo_reply checksum 0x516a >> 00:04:02:492436: ip4-rewrite >> tx_sw_if_index 0 dpo-idx 1 : ipv4 via 10.1.1.1 TenGigabitEthernetaf/0/1: >> mtu:1500 6805ca3a19183cfdfea9cced0800 flow hash: 0x05dc0000 >> 00000000: 450007ec2fc4000040012d490a0101020a0101010000516a3ef600723f805a48 >> 00000020: 00000000bd7c0c0000000000101112131415161718191a1b1c1d1e1f >> 00:04:02:492436: ip4-frag >> IPv4 offset: 0 mtu: 1500 fragments: 1 >> 00:04:02:492437: ip4-drop >> ICMP: 10.1.1.2 -> 10.1.1.1 >> tos 0x00, ttl 64, length 2028, checksum 0x2d49 >> fragment id 0x2fc4 >> ICMP echo_reply checksum 0x516a >> 00:04:02:492437: error-drop >> ip4-frag: malformed packet >> >> Thanks, >> Hongjun >> >> -=-=-=-=-=-=-=-=-=-=-=- >> Links: You receive all messages sent to this group. >> >> View/Reply Online (#10040): >> https://lists.fd.io/g/vpp-dev/message/10040 >> Mute This Topic: https://lists.fd.io/mt/24206662/675193 >> Group Owner: vpp-dev+ow...@lists.fd.io >> Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub >> [otr...@employees.org] >> -=-=-=-=-=-=-=-=-=-=-=- > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > > View/Reply Online (#10044): https://lists.fd.io/g/vpp-dev/message/10044 > Mute This Topic: https://lists.fd.io/mt/24206662/675193 > Group Owner: vpp-dev+ow...@lists.fd.io > Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [otr...@employees.org] > -=-=-=-=-=-=-=-=-=-=-=-
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#10045): https://lists.fd.io/g/vpp-dev/message/10045 Mute This Topic: https://lists.fd.io/mt/24206662/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-