This is fixed via 9171c63532ee9cbc63bb8cfae364ab071f44389b 2.10.4/3/2 will have it
On Thu, Oct 10, 2019 at 6:56 PM txfh2007 via discuss < ovs-discuss@openvswitch.org> wrote: > Hi Ben: > This is my tcpdump result and the userspace datapath cache flow: > > Note: the icmp reply got by ovs bridge should have 4 bytes CRC > > 09:42:40.883012 fa:16:3e:6c:07:83 > 00:00:0c:9f:f3:ae, ethertype IPv4 > (0x0800), length 98: (tos 0x0, ttl 63, id 7119, offset 0, flags [DF], proto > ICMP (1), length 84) > 192.168.1.7 > 10.142.174.254: ICMP echo request, id 2604, seq 116, > length 64 > 0x0000: 0000 0c9f f3ae fa16 3e6c 0783 0800 4500 > 0x0010: 0054 1bcf 4000 3f01 a49e c0a8 0107 0a8e > 0x0020: aefe 0800 40d1 0a2c 0074 0fde 9f5d 0000 > 0x0030: 0000 3c80 0200 0000 0000 1011 1213 1415 > 0x0040: 1617 1819 1a1b 1c1d 1e1f 2021 2223 2425 > 0x0050: 2627 2829 2a2b 2c2d 2e2f 3031 3233 3435 > 0x0060: 3637 > 09:42:40.883683 fa:16:3e:0e:d1:15 > fa:16:3e:53:dd:68, ethertype IPv4 > (0x0800), length 102: (tos 0x0, ttl 254, id 7119, offset 0, flags [DF], > proto ICMP (1), length 84) > 10.142.174.254 > 192.168.1.7: ICMP echo reply, id 2604, seq 116, > length 64 > 0x0000: fa16 3e53 dd68 fa16 3e0e d115 0800 4500 > 0x0010: 0054 1bcf 4000 fe01 e59d 0a8e aefe c0a8 > 0x0020: 0107 0000 48d1 0a2c 0074 0fde 9f5d 0000 > 0x0030: 0000 3c80 0200 0000 0000 1011 1213 1415 > 0x0040: 1617 1819 1a1b 1c1d 1e1f 2021 2223 2425 > 0x0050: 2627 2829 2a2b 2c2d 2e2f 3031 3233 3435 > 0x0060: 3637 01a0 af78 > > > tunnel(tun_id=0x5,src=10.142.18.11,dst=10.142.18.12,geneve({class=0x102,type=0x80,len=4,0xd30003/0x7fffffff}),flags(-df+csum+key)),rec > irc_id(0),in_port(15),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(proto=1,frag=no),icmp(type=0), > packets:41, bytes:4182, used:0.380s, > actions:ct(zone=4),recirc(0x37) > > > tunnel(tun_id=0x5,src=10.142.18.11,dst=10.142.18.12,geneve({}),flags(-df+csum+key)),ct_state(+inv+trk),recirc_id(0x37),in_port(15),pac > ket_type(ns=0,id=0),eth_type(0x0800),ipv4(frag=no), packets:211, > bytes:21522, used:0.342s, actions:drop > > > > > Re: Re:[ovs-discuss] [HELP] Question about icmp pkt marked Invalid by > userspace conntrack > > > On October 10, 2019 5:57:58 PM PDT, txfh2007 <txfh2...@aliyun.com> > wrote:Hi Ben: > > I just found the GCC_UNALIGNED_ACCESSORS error during gdb trace and > not sure this is a misaligned error or others. What I can confirm is > during "extract_l4" of this icmp reply packet, when we do "check_l4_icmp", > the unaligned error emits and the "extract_l4" returned false. So this > packet be marked as ct_state=invalid. > > Thank you for your help. > > Timo > > Topic:Re: [ovs-discuss] [HELP] Question about icmp pkt marked Invalid by > userspace conntrack > > > It's very surprising. > > Are you using a RISC architecture that insists on aligned accesses? On > the other hand, if you are using x86-64 or some other architecture that > ordinarily does not care, are you sure that this is about a misaligned > access (it is more likely to simply be a bad pointer)? > > On Thu, Oct 10, 2019 at 10:50:33PM +0800, txfh2007 via discuss wrote: > > > Hi all: > I was using OVS-DPDK(version 2.10-1), and I have found pinging between > two VMs on different compute nodes failed. I have checked my env and found > there is one node's NIC cannot strip CRC of a frame, the other node's NIC > is normal(I mean it can strip CRC ). And the reason of ping fail is the > icmp reply pkt (from node whose NIC cannot strip CRC) is marked as invalid > . So the icmp request From Node A is 64 bytes, but the icmp reply From Node > B is 68 bytes(with 4 bytes CRC). And when doing "check_l4_icmp", when we > call csum task(in lib/csum.c). Gcc emits unaligned accessor error. The > backtrace is as below: > > I just want to confirm if this phenomenon is reasonable? > > Many thanks > > Timo > > > get_unaligned_be16 (p=0x7f2ad0b1ed5c) at lib/unaligned.h:89 > 89 GCC_UNALIGNED_ACCESSORS(ovs_be16, be16); > (gdb) bt > #0 get_unaligned_be16 (p=0x7f2ad0b1ed5c) at lib/unaligned.h:89 > #1 0x000000000075a584 in csum_continue (partial=0, data_=0x7f2ad0b1ed5c, > n=68) at lib/csum.c:46 > #2 0x000000000075a552 in csum (data=0x7f2ad0b1ed5c, n=68) at lib/csum.c:33 > #3 0x00000000008ddf18 in check_l4_icmp (data=0x7f2ad0b1ed5c, size=68, > validate_checksum=true) at lib/conntrack.c:1638 > #4 0x00000000008de650 in extract_l4 (key=0x7f32a20df120, > data=0x7f2ad0b1ed5c, size=68, related=0x7f32a20df15d, l3=0x7f2ad0b1ed48, > validate_checksum=true) at lib/conntrack.c:1888 > #5 0x00000000008de90d in conn_key_extract (ct=0x7f32b42a2d98, > pkt=0x7f2ad0b1e9c0, dl_type=8, ctx=0x7f32a20df120, zone=4) > at lib/conntrack.c:1973 > #6 0x00000000008dd49c in conntrack_execute (ct=0x7f32b42a2d98, > pkt_batch=0x7f32a20e08b0, dl_type=8, force=false, commit=false, > zone=4, setmark=0x0, setlabel=0x0, tp_src=0, tp_dst=0, helper=0x0, > nat_action_info=0x0, now=5395897849) at lib/conntrack.c:1318 > #7 0x000000000076d651 in dp_execute_cb (aux_=0x7f32a20dfb00, > packets_=0x7f32a20e08b0, a=0x7f32a20e0ac8, should_steal=false) > at lib/dpif-netdev.c:6711 > #8 0x00000000007b2d49 in odp_execute_actions (dp=0x7f32a20dfb00, > batch=0x7f32a20e08b0, steal=true, actions=0x7f32a20e0ac8, > actions_len=20, dp_execute_action=0x76ca60 <dp_execute_cb>) at > lib/odp-execute.c:726 > #9 0x000000000076d71b in dp_netdev_execute_actions (pmd=0x7f2a6e1ce010, > packets=0x7f32a20e08b0, should_steal=true, > flow=0x7f32a20dfb60, actions=0x7f32a20e0ac8, actions_len=20) at > lib/dpif-netdev.c:6754 > #10 0x000000000076b900 in handle_packet_upcall (pmd=0x7f2a6e1ce010, > packet=0x7f2ad0b1e9c0, key=0x7f32a20e1100, > actions=0x7f32a20e0a40, put_actions=0x7f32a20e0a80) at > lib/dpif-netdev.c:6056 > #11 0x000000000076bdf0 in fast_path_processing (pmd=0x7f2a6e1ce010, > packets_=0x7f32a20e2b60, keys=0x7f32a20e10c0, > batches=0x7f32a20e0f90, n_batches=0x7f32a20e13c0, in_port=15) at > lib/dpif-netdev.c:6153 > #12 0x000000000076c3df in dp_netdev_input__ (pmd=0x7f2a6e1ce010, > packets=0x7f32a20e2b60, md_is_valid=true, port_no=0) > at lib/dpif-netdev.c:6230 > #13 0x000000000076c4d4 in dp_netdev_recirculate (pmd=0x7f2a6e1ce010, > packets=0x7f32a20e2b60) at lib/dpif-netdev.c:6265 > #14 0x000000000076ceae in dp_execute_cb (aux_=0x7f32a20e1db0, > packets_=0x7f32a20e2b60, a=0x7f32a20e2d78, should_steal=true) discuss > mailing list > disc...@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-discuss > > > Ok. Is there a particular packet we can use to reproduce it? > > _______________________________________________ > discuss mailing list > disc...@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-discuss >
_______________________________________________ discuss mailing list disc...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-discuss