On 13.07.2019 17:25, William Tu wrote: > When doing > $ make check-kmod TESTSUITEFLAGS='-k nsh' > > every test passes, but when doing > $ make check-system-userspace TESTSUITEFLAGS='-k nsh' > > All test fails due to > odp_util(revalidator7)|WARN| OVS_NSH_KEY_ATTR_MD1 present but \ > declared mdtype 0 is not 1 (NSH_M_TYPE1) > odp_util(revalidator7)|WARN| the flow mask in error is: \ > > skb_priority(0),tunnel(ttl=0,flags(0)),skb_mark(0),ct_state(0),ct_zone(0),ct_mark(0),ct_label(0),recirc_id(0xffffffff),dp_hash(0),in_port(4294967295),packet_type(ns=65535,id=0xffff),eth(src=00:00:00:00:00:00,dst=00:00:00:00:00:00),eth_type(0xffff),nsh(flags=0ttl=0,mdtype=0,np=255,spi=0xffffff,si=255), > for the following flow key: > in_port=2,vlan_tci=0x0000,dl_src=f2:ff:00:00:00:01,dl_dst=f2:ff:00:00:00:02,dl_type=0x894f,nsh_flags=0,nsh_ttl=8,nsh_mdtype=1 > > The patch adds '-n' option to tcpdump, to avoid the delay of > coverting address add more sleep time after the tcpdump starts > to capture packets. But I don't know why more sleep time makes > the revalidator warning disappears.
Hi. Thanks for working on this! I re-checked the code and found a bug that causes revalidator failures: https://patchwork.ozlabs.org/patch/1132013/ So, the additional sleep seems not needed with above patch applied. Regarding the '-n', I think it's a good enhancement. I'd suggest passing '-n -xx' directly to the first tcpdump like this: tcpdump -n -xx -U -i ovs-p1 > ovs-p1.pcap & And use simple checking with 'cat' and 'OVS_WAIT_UNTIL', like all other tests does: OVS_WAIT_UNTIL([cat ovs-p1.pcap 2>&1 | egrep "0x0000: *f2ff *0000 *0002 *f2ff *0000 *0001 *894f *0fc6" 2>&1 1>/dev/null]) This way tests should be more reliable. Best regards, Ilya Maximets. > > Signed-off-by: William Tu <u9012...@gmail.com> > ---> tests/system-traffic.at | 64 > ++++++++++++++++++++++++------------------------- > 1 file changed, 32 insertions(+), 32 deletions(-) > > diff --git a/tests/system-traffic.at b/tests/system-traffic.at > index 8ea450887076..84e73b82bd4f 100644 > --- a/tests/system-traffic.at > +++ b/tests/system-traffic.at > @@ -5873,7 +5873,7 @@ AT_CHECK([ovs-ofctl -Oopenflow13 add-flow br0 > "table=0,priority=100,in_port=ovs- > > rm ovs-p1.pcap > tcpdump -U -i ovs-p1 -w ovs-p1.pcap & > -sleep 1 > +sleep 2 > > dnl The hex dump is a TCP syn packet. pkt=eth/ip/tcp > dnl The packet is sent from p0(at_ns0) interface directed to > @@ -5883,12 +5883,12 @@ NS_CHECK_EXEC([at_ns0], [$PYTHON $srcdir/sendpkt.py > p0 f2 00 00 00 00 02 f2 00 0 > sleep 1 > > dnl Check the expected nsh encapsulated packet on the egress interface > -AT_CHECK([tcpdump -xx -r ovs-p1.pcap 2>&1 | egrep "0x0000: *f2ff *0000 *0002 > *f2ff *0000 *0001 *894f *0fc6" 2>&1 1>/dev/null]) > -AT_CHECK([tcpdump -xx -r ovs-p1.pcap 2>&1 | egrep "0x0010: *0103 *0012 *34ff > *1122 *3344 *0000 *0000 *0000" 2>&1 1>/dev/null]) > -AT_CHECK([tcpdump -xx -r ovs-p1.pcap 2>&1 | egrep "0x0020: *0000 *0000 *0000 > *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null]) > -AT_CHECK([tcpdump -xx -r ovs-p1.pcap 2>&1 | egrep "0x0030: *0001 *0800 *4500 > *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null]) > -AT_CHECK([tcpdump -xx -r ovs-p1.pcap 2>&1 | egrep "0x0040: *c0a8 *000a *0a00 > *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null]) > -AT_CHECK([tcpdump -xx -r ovs-p1.pcap 2>&1 | egrep "0x0050: *0000 *0000 *5002 > *2000 *b85e *0000" 2>&1 1>/dev/null]) > +AT_CHECK([tcpdump -n -xx -r ovs-p1.pcap 2>&1 | egrep "0x0000: *f2ff *0000 > *0002 *f2ff *0000 *0001 *894f *0fc6" 2>&1 1>/dev/null]) > +AT_CHECK([tcpdump -n -xx -r ovs-p1.pcap 2>&1 | egrep "0x0010: *0103 *0012 > *34ff *1122 *3344 *0000 *0000 *0000" 2>&1 1>/dev/null]) > +AT_CHECK([tcpdump -n -xx -r ovs-p1.pcap 2>&1 | egrep "0x0020: *0000 *0000 > *0000 *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null]) > +AT_CHECK([tcpdump -n -xx -r ovs-p1.pcap 2>&1 | egrep "0x0030: *0001 *0800 > *4500 *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null]) > +AT_CHECK([tcpdump -n -xx -r ovs-p1.pcap 2>&1 | egrep "0x0040: *c0a8 *000a > *0a00 *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null]) > +AT_CHECK([tcpdump -n -xx -r ovs-p1.pcap 2>&1 | egrep "0x0050: *0000 *0000 > *5002 *2000 *b85e *0000" 2>&1 1>/dev/null]) > > > OVS_TRAFFIC_VSWITCHD_STOP > @@ -5908,7 +5908,7 @@ AT_CHECK([ovs-ofctl -Oopenflow13 add-flow br0 > "table=0,priority=100,in_port=ovs- > > rm ovs-p1.pcap > tcpdump -U -i ovs-p1 -w ovs-p1.pcap & > -sleep 1 > +sleep 2 > > dnl The hex dump is NSH packet with TCP syn payload. pkt=eth/nsh/eth/ip/tcp > dnl The packet is sent from p0(at_ns0) interface directed to > @@ -5918,10 +5918,10 @@ NS_CHECK_EXEC([at_ns0], [$PYTHON $srcdir/sendpkt.py > p0 f2 ff 00 00 00 02 f2 ff 0 > sleep 1 > > dnl Check the expected de-capsulated TCP packet on the egress interface > -AT_CHECK([tcpdump -xx -r ovs-p1.pcap 2>&1 | egrep "0x0000: *f200 *0000 *0002 > *f200 *0000 *0001 *0800 *4500" 2>&1 1>/dev/null]) > -AT_CHECK([tcpdump -xx -r ovs-p1.pcap 2>&1 | egrep "0x0010: *0028 *0001 *0000 > *4006 *b013 *c0a8 *000a *0a00" 2>&1 1>/dev/null]) > -AT_CHECK([tcpdump -xx -r ovs-p1.pcap 2>&1 | egrep "0x0020: *000a *0400 *0800 > *0000 *00c8 *0000 *0000 *5002" 2>&1 1>/dev/null]) > -AT_CHECK([tcpdump -xx -r ovs-p1.pcap 2>&1 | egrep "0x0030: *2000 *b85e > *0000" 2>&1 1>/dev/null]) > +AT_CHECK([tcpdump -n -xx -r ovs-p1.pcap 2>&1 | egrep "0x0000: *f200 *0000 > *0002 *f200 *0000 *0001 *0800 *4500" 2>&1 1>/dev/null]) > +AT_CHECK([tcpdump -n -xx -r ovs-p1.pcap 2>&1 | egrep "0x0010: *0028 *0001 > *0000 *4006 *b013 *c0a8 *000a *0a00" 2>&1 1>/dev/null]) > +AT_CHECK([tcpdump -n -xx -r ovs-p1.pcap 2>&1 | egrep "0x0020: *000a *0400 > *0800 *0000 *00c8 *0000 *0000 *5002" 2>&1 1>/dev/null]) > +AT_CHECK([tcpdump -n -xx -r ovs-p1.pcap 2>&1 | egrep "0x0030: *2000 *b85e > *0000" 2>&1 1>/dev/null]) > > > OVS_TRAFFIC_VSWITCHD_STOP > @@ -5943,7 +5943,7 @@ AT_CHECK([ovs-ofctl -Oopenflow13 add-flow br0 > "table=0,priority=100,in_port=ovs- > > rm ovs-p1.pcap > tcpdump -U -i ovs-p1 -w ovs-p1.pcap & > -sleep 1 > +sleep 2 > > dnl The hex dump is NSH packet with TCP syn payload. pkt=eth/nsh/eth/ip/tcp > dnl The nsh_ttl is 8, nsh_spi is 0x100 and nsh_si is 3 > @@ -5954,12 +5954,12 @@ NS_CHECK_EXEC([at_ns0], [$PYTHON $srcdir/sendpkt.py > p0 f2 ff 00 00 00 02 f2 ff 0 > sleep 1 > > dnl Check the expected NSH packet with new fields in the header > -AT_CHECK([tcpdump -xx -r ovs-p1.pcap 2>&1 | egrep "0x0000: *f2ff *0000 *0002 > *f2ff *0000* 0001 *894f *01c6" 2>&1 1>/dev/null]) > -AT_CHECK([tcpdump -xx -r ovs-p1.pcap 2>&1 | egrep "0x0010: *0103 *0001 *0104 > *100f *0e0d *0c0b *0a09 *0807" 2>&1 1>/dev/null]) > -AT_CHECK([tcpdump -xx -r ovs-p1.pcap 2>&1 | egrep "0x0020: *0605 *0403 *0201 > *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null]) > -AT_CHECK([tcpdump -xx -r ovs-p1.pcap 2>&1 | egrep "0x0030: *0001 *0800 *4500 > *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null]) > -AT_CHECK([tcpdump -xx -r ovs-p1.pcap 2>&1 | egrep "0x0040: *c0a8 *000a *0a00 > *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null]) > -AT_CHECK([tcpdump -xx -r ovs-p1.pcap 2>&1 | egrep "0x0050: *0000 *0000 *5002 > *2000 *b85e *0000" 2>&1 1>/dev/null]) > +AT_CHECK([tcpdump -n -xx -r ovs-p1.pcap 2>&1 | egrep "0x0000: *f2ff *0000 > *0002 *f2ff *0000* 0001 *894f *01c6" 2>&1 1>/dev/null]) > +AT_CHECK([tcpdump -n -xx -r ovs-p1.pcap 2>&1 | egrep "0x0010: *0103 *0001 > *0104 *100f *0e0d *0c0b *0a09 *0807" 2>&1 1>/dev/null]) > +AT_CHECK([tcpdump -n -xx -r ovs-p1.pcap 2>&1 | egrep "0x0020: *0605 *0403 > *0201 *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null]) > +AT_CHECK([tcpdump -n -xx -r ovs-p1.pcap 2>&1 | egrep "0x0030: *0001 *0800 > *4500 *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null]) > +AT_CHECK([tcpdump -n -xx -r ovs-p1.pcap 2>&1 | egrep "0x0040: *c0a8 *000a > *0a00 *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null]) > +AT_CHECK([tcpdump -n -xx -r ovs-p1.pcap 2>&1 | egrep "0x0050: *0000 *0000 > *5002 *2000 *b85e *0000" 2>&1 1>/dev/null]) > > OVS_TRAFFIC_VSWITCHD_STOP > AT_CLEANUP > @@ -5985,7 +5985,7 @@ rm ovs-p1.pcap > rm ovs-p2.pcap > tcpdump -U -i ovs-p1 -w ovs-p1.pcap & > tcpdump -U -i ovs-p2 -w ovs-p2.pcap & > -sleep 1 > +sleep 2 > > dnl First send packet from at_ns0 --> OVS with SPI=0x100 and SI=2 > NS_CHECK_EXEC([at_ns0], [$PYTHON $srcdir/sendpkt.py p0 f2 ff 00 00 00 02 f2 > ff 00 00 00 01 89 4f 02 06 01 03 00 01 00 02 01 02 03 04 05 06 07 08 09 0a 0b > 0c 0d 0e 0f 10 f2 00 00 00 00 02 f2 00 00 00 00 01 08 00 45 00 00 28 00 01 00 > 00 40 06 b0 13 c0 a8 00 0a 0a 00 00 0a 04 00 08 00 00 00 00 c8 00 00 00 00 50 > 02 20 00 b8 5e 00 00 > /dev/null]) > @@ -5993,12 +5993,12 @@ NS_CHECK_EXEC([at_ns0], [$PYTHON $srcdir/sendpkt.py > p0 f2 ff 00 00 00 02 f2 ff 0 > sleep 1 > > dnl Check for the above packet on ovs-p1 interface > -AT_CHECK([tcpdump -xx -r ovs-p1.pcap 2>&1 | egrep "0x0000: *f2ff *0000 *0002 > *f2ff *0000 *0001 *894f *0206" 2>&1 1>/dev/null]) > -AT_CHECK([tcpdump -xx -r ovs-p1.pcap 2>&1 | egrep "0x0010: *0103 *0001 *0002 > *0102 *0304 *0506 *0708 *090a" 2>&1 1>/dev/null]) > -AT_CHECK([tcpdump -xx -r ovs-p1.pcap 2>&1 | egrep "0x0020: *0b0c *0d0e *0f10 > *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null]) > -AT_CHECK([tcpdump -xx -r ovs-p1.pcap 2>&1 | egrep "0x0030: *0001 *0800 *4500 > *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null]) > -AT_CHECK([tcpdump -xx -r ovs-p1.pcap 2>&1 | egrep "0x0040: *c0a8 *000a *0a00 > *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null]) > -AT_CHECK([tcpdump -xx -r ovs-p1.pcap 2>&1 | egrep "0x0050: *0000 *0000 *5002 > *2000 *b85e *0000" 2>&1 1>/dev/null]) > +AT_CHECK([tcpdump -n -xx -r ovs-p1.pcap 2>&1 | egrep "0x0000: *f2ff *0000 > *0002 *f2ff *0000 *0001 *894f *0206" 2>&1 1>/dev/null]) > +AT_CHECK([tcpdump -n -xx -r ovs-p1.pcap 2>&1 | egrep "0x0010: *0103 *0001 > *0002 *0102 *0304 *0506 *0708 *090a" 2>&1 1>/dev/null]) > +AT_CHECK([tcpdump -n -xx -r ovs-p1.pcap 2>&1 | egrep "0x0020: *0b0c *0d0e > *0f10 *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null]) > +AT_CHECK([tcpdump -n -xx -r ovs-p1.pcap 2>&1 | egrep "0x0030: *0001 *0800 > *4500 *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null]) > +AT_CHECK([tcpdump -n -xx -r ovs-p1.pcap 2>&1 | egrep "0x0040: *c0a8 *000a > *0a00 *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null]) > +AT_CHECK([tcpdump -n -xx -r ovs-p1.pcap 2>&1 | egrep "0x0050: *0000 *0000 > *5002 *2000 *b85e *0000" 2>&1 1>/dev/null]) > > > dnl Send the second packet from at_ns1 --> OVS with SPI=0x100 and SI=1 > @@ -6007,12 +6007,12 @@ NS_CHECK_EXEC([at_ns1], [$PYTHON $srcdir/sendpkt.py > p1 f2 ff 00 00 00 02 f2 ff 0 > sleep 1 > > dnl Check for the above packet on ovs-p2 interface > -AT_CHECK([tcpdump -xx -r ovs-p2.pcap 2>&1 | egrep "0x0000: *f2ff *0000 *0002 > *f2ff *0000 *0001 *894f *01c6" 2>&1 1>/dev/null]) > -AT_CHECK([tcpdump -xx -r ovs-p2.pcap 2>&1 | egrep "0x0010: *0103 *0001 *0001 > *0102 *0304 *0506 *0708 *090a" 2>&1 1>/dev/null]) > -AT_CHECK([tcpdump -xx -r ovs-p2.pcap 2>&1 | egrep "0x0020: *0b0c *0d0e *0f10 > *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null]) > -AT_CHECK([tcpdump -xx -r ovs-p2.pcap 2>&1 | egrep "0x0030: *0001 *0800 *4500 > *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null]) > -AT_CHECK([tcpdump -xx -r ovs-p2.pcap 2>&1 | egrep "0x0040: *c0a8 *000a *0a00 > *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null]) > -AT_CHECK([tcpdump -xx -r ovs-p2.pcap 2>&1 | egrep "0x0050: *0000 *0000 *5002 > *2000 *b85e *0000" 2>&1 1>/dev/null]) > +AT_CHECK([tcpdump -n -xx -r ovs-p2.pcap 2>&1 | egrep "0x0000: *f2ff *0000 > *0002 *f2ff *0000 *0001 *894f *01c6" 2>&1 1>/dev/null]) > +AT_CHECK([tcpdump -n -xx -r ovs-p2.pcap 2>&1 | egrep "0x0010: *0103 *0001 > *0001 *0102 *0304 *0506 *0708 *090a" 2>&1 1>/dev/null]) > +AT_CHECK([tcpdump -n -xx -r ovs-p2.pcap 2>&1 | egrep "0x0020: *0b0c *0d0e > *0f10 *f200 *0000 *0002 *f200 *0000" 2>&1 1>/dev/null]) > +AT_CHECK([tcpdump -n -xx -r ovs-p2.pcap 2>&1 | egrep "0x0030: *0001 *0800 > *4500 *0028 *0001 *0000 *4006 *b013" 2>&1 1>/dev/null]) > +AT_CHECK([tcpdump -n -xx -r ovs-p2.pcap 2>&1 | egrep "0x0040: *c0a8 *000a > *0a00 *000a *0400 *0800 *0000 *00c8" 2>&1 1>/dev/null]) > +AT_CHECK([tcpdump -n -xx -r ovs-p2.pcap 2>&1 | egrep "0x0050: *0000 *0000 > *5002 *2000 *b85e *0000" 2>&1 1>/dev/null]) > > > > _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev