On Thu, Aug 9, 2018 at 12:46 PM, Yifeng Sun <[email protected]> wrote:
> Yes, in original test, ADD_NATIVE_TUNNEL will try to load upstream > gre modules. But since openvswitch is running in compatible model, > there is a conflict and the gre tests will always fail. So this new series > of tests abandoned using ADD_NATIVE_TUNNEL and doesn't need > native gre modules any more. > > oh, my mistake, the line is actually a comment. +dnl ADD_NATIVE_TUNNEL([gretap], [ns_gre0], [at_ns0], [172.31.1.100], [ 10.1.1.1/24]) I thought it is active. Thanks William > On Thu, Aug 9, 2018 at 11:55 AM, William Tu <[email protected]> wrote: > >> >> >> On Wed, Aug 8, 2018 at 11:32 AM, Yifeng Sun <[email protected]> >> wrote: >> >>> Introduce a new test that doesn't setup native gre tunnels but sends >>> simulated raw packets. >>> This test is supposed to only run for kernel version from 4.4.x to >>> 4.15.x. >>> >>> Signed-off-by: Yifeng Sun <[email protected]> >>> --- >>> tests/system-traffic.at | 47 ++++++++++++++++++++++++++++++ >>> +++++++++++++++++ >>> 1 file changed, 47 insertions(+) >>> >>> diff --git a/tests/system-traffic.at b/tests/system-traffic.at >>> index cf53c10..dca2bc8 100644 >>> --- a/tests/system-traffic.at >>> +++ b/tests/system-traffic.at >>> @@ -575,6 +575,53 @@ NS_CHECK_EXEC([at_ns0], [ping -s 3200 -q -c 3 -i >>> 0.3 -w 2 10.1.1.100 | FORMAT_PI >>> OVS_TRAFFIC_VSWITCHD_STOP >>> AT_CLEANUP >>> >>> +AT_SETUP([datapath - ping over gre tunnel by simulated packets]) >>> +OVS_CHECK_KERNEL(4, 4, 15) >>> + >>> +OVS_TRAFFIC_VSWITCHD_START() >>> + >>> +AT_CHECK([ovs-vsctl -- set bridge br0 other-config:hwaddr=\"f2:ff:00 >>> :00:00:01\"]) >>> +ADD_BR([br-underlay], [set bridge br-underlay >>> other-config:hwaddr=\"f2:ff:00:00:00:02\"]) >>> + >>> +AT_CHECK([ovs-ofctl add-flow br0 "actions=normal"]) >>> +AT_CHECK([ovs-ofctl add-flow br-underlay "actions=normal"]) >>> + >>> +ADD_NAMESPACES(at_ns0) >>> + >>> +dnl Set up underlay link from host into the namespace using veth pair. >>> +ADD_VETH(p0, at_ns0, br-underlay, "172.31.1.1/24", f2:ff:00:00:00:03) >>> +AT_CHECK([ip addr add dev br-underlay "172.31.1.100/24"]) >>> +AT_CHECK([ip link set dev br-underlay up]) >>> + >>> +dnl Set up tunnel endpoints on OVS outside the namespace. >>> +ADD_OVS_TUNNEL([gre], [br0], [at_gre0], [172.31.1.1], [10.1.1.100/24]) >>> + >> >> +ip netns exec at_ns0 tcpdump -U -i p0 -w p0.pcap & >>> +sleep 1 >>> + >>> +dnl First, check the underlay. >>> +NS_CHECK_EXEC([at_ns0], [ping -q -c 3 -i 0.3 -w 2 172.31.1.100 | >>> FORMAT_PING], [0], [dnl >>> +3 packets transmitted, 3 received, 0% packet loss, time 0ms >>> +]) >>> + >>> +dnl We don't actually add gretap port as below, instead, we will >>> +dnl emulate one that sends out packets. Suppose its mac address is >>> f2:ff:00:00:00:04. >>> +dnl ADD_NATIVE_TUNNEL([gretap], [ns_gre0], [at_ns0], [172.31.1.100], [ >>> 10.1.1.1/24]) >>> >> >> Doesn't ADD_NATIVE_TUNNEL setup native gre tunnels? >> And this causes loading the upstream kernel's gre module. >> >> Thanks >> William >> >>> + >>> +dnl Now, check the overlay by sending out raw arp and icmp packets. >>> +ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1 >>> packet=f2ff00000002f2ff00000003080045000042ec2c4000402ff3bca >>> c1f0101ac1f016400006558fffffffffffff2ff000000040806000108000 >>> 6040001f2ff000000040a0101010000000000000a010164 actions=NORMAL" >>> + >>> +sleep 1 >>> +AT_CHECK([tcpdump -xx -r p0.pcap 2>&1 | egrep "IP 172.31.1.100 > >>> 172.31.1.1: GREv0, length 46: ARP, Reply 10.1.1.100 is-at >>> f2:ff:00:00:00:01 .* length 28" 2>&1 1>/dev/null]) >>> + >>> +ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1 >>> packet=f2ff00000002f2ff0000000308004500007aec8e4000402ff322a >>> c1f0101ac1f016400006558f2ff00000001f2ff000000040800450000545 >>> 48f40004001cfb30a0101010a0101640800e6e829270003e1a3435b00000 >>> 000ff1a050000000000101112131415161718191a1b1c1d1e1f202122232 >>> 425262728292a2b2c2d2e2f3031323334353637 actions=NORMAL" >>> + >>> +sleep 1 >>> +AT_CHECK([tcpdump -xx -r p0.pcap 2>&1 | egrep "IP 172.31.1.100 > >>> 172.31.1.1: GREv0, length 102: IP 10.1.1.100 > 10.1.1.1: ICMP echo >>> reply, .* length 64$" 2>&1 1>/dev/null]) >>> + >>> +OVS_TRAFFIC_VSWITCHD_STOP >>> +AT_CLEANUP >>> + >>> AT_SETUP([datapath - clone action]) >>> OVS_TRAFFIC_VSWITCHD_START() >>> >>> -- >>> 2.7.4 >>> >>> _______________________________________________ >>> dev mailing list >>> [email protected] >>> https://mail.openvswitch.org/mailman/listinfo/ovs-dev >>> >> >> > _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
