From patchwork Tue May 9 00:09:48 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: William Tu X-Patchwork-Id: 759854 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3wMKWV20zBz9ryQ for ; Tue, 9 May 2017 10:10:14 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="VfDB7qjX"; dkim-atps=neutral Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id 10F2FBCA; Tue, 9 May 2017 00:10:11 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@mail.linuxfoundation.org Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id E4EC5BBC for ; Tue, 9 May 2017 00:10:09 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-oi0-f66.google.com (mail-oi0-f66.google.com [209.85.218.66]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 5360310A for ; Tue, 9 May 2017 00:10:09 +0000 (UTC) Received: by mail-oi0-f66.google.com with SMTP id w138so12002113oiw.3 for ; Mon, 08 May 2017 17:10:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=Gkcj2cLAqGfxodTLNKMDbzdENVTu1CKqtYooOriZwGU=; b=VfDB7qjXlcIpxIQBcSWvKBgAf0/xHkPMxpxpcHGtzkmhW0/zYmiT9MRTxfXN2jwml8 wRgsWLDuFN/3oXuWkBtmi7QEv81mIv+zmdj2iJD24Tg9cPjxbNX3583ISSYNogIR34i0 rImOQj7PjalK+2MAe+t+EKT9dp+XBFC9m4KI+K5kHL8+sDi6hg2mqtf8G903e7X1NEOp ihCxeEH34CR7lS48B3S7YMXu6/1eRBjkmiFWDqwgSHQyZTn32/1/B5d3wl3rpk7yIMgw 7RNbfN6lNceoOiiO3sGw/bFZy5HcdpoJIlkDlRCLHzrKuV1EqA9lN0e38YPOO0PJS4np PR2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=Gkcj2cLAqGfxodTLNKMDbzdENVTu1CKqtYooOriZwGU=; b=L6yrjtE1+CZK0iU0dm8TMl98l6X1M5GMbPUqCjIEy/dxdQXljMXBM77DhrV2n4UDdC ykUD/4OBj66l6ZH3EVJ5RxtN90Idgy7tApAVKYZp25Mk7tCmYMxSUu6JQ7g3evZZ02DP j2AlRe4yUNniQ4gNFM22yV3V0+QeaMbiLx47d84IGgFOvxmEhGRWbnKcdjZnM0manRY7 8xg09FKgpupSOCZGWvI41KdlTOue4zmxA3q4I3FbPd+wWqHPD6ylVsqyZ8MhmucJAaBc DpThUCH6ki7sZezQ0CDse6Xtl3A0aA6kzZrNGOtH7xqwBZj/wP/WkT2gSLKsnQLHGQKn GNeA== X-Gm-Message-State: AODbwcBfJ+vE0eozjPUKsT2xUBAy5wny0Y5zaMceEXqQ7HYXzcTrY6Li 0HKiUqM+yYDX7wakGmc= X-Received: by 10.202.217.7 with SMTP id q7mr3023957oig.12.1494288608444; Mon, 08 May 2017 17:10:08 -0700 (PDT) Received: from sc9-mailhost3.vmware.com ([76.126.157.223]) by smtp.gmail.com with ESMTPSA id 10sm7377171otw.55.2017.05.08.17.10.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 08 May 2017 17:10:07 -0700 (PDT) From: William Tu To: dev@openvswitch.org Date: Mon, 8 May 2017 17:09:48 -0700 Message-Id: <1494288588-38946-1-git-send-email-u9012063@gmail.com> X-Mailer: git-send-email 2.7.4 X-Spam-Status: No, score=-1.2 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM autolearn=no version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Subject: [ovs-dev] [PATCH] tunnel-tests: Add test to match tunnel traffic. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: ovs-dev-bounces@openvswitch.org Errors-To: ovs-dev-bounces@openvswitch.org This test highlights a bug that was affecting master up until the previous patch. Put simply, we have two bridges: an integration bridge which contains a tunnel, and a physical bridge for underlay network connectivity. This test simulates putting UDP traffic through the integration bridge, with the intention to apply GRE tunnel headers and send the packet through the underlay bridge. The underlay bridge should observe GRE traffic. Signed-off-by: William Tu Signed-off-by: Joe Stringer Acked-by: Greg Rose --- tests/tunnel-push-pop.at | 69 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/tests/tunnel-push-pop.at b/tests/tunnel-push-pop.at index 294d28a2416d..c7724671c400 100644 --- a/tests/tunnel-push-pop.at +++ b/tests/tunnel-push-pop.at @@ -225,3 +225,72 @@ OVS_WAIT_UNTIL([test `ovs-pcap p0.pcap | grep 50540000000a5054000000091235 | wc OVS_VSWITCHD_STOP AT_CLEANUP + +AT_SETUP([tunnel_push_pop - matching on physical bridge]) + +OVS_VSWITCHD_START([add-port br0 p0 -- set Interface p0 type=dummy ofport_request=1 other-config:hwaddr=aa:55:aa:55:00:00]) +AT_CHECK([ovs-vsctl add-br int-br -- set bridge int-br datapath_type=dummy], [0]) +AT_CHECK([ovs-vsctl add-port int-br t1 -- set Interface t1 type=gre \ + options:remote_ip=1.1.2.92 options:key=456 ofport_request=3], [0]) + +AT_CHECK([ovs-appctl dpif/show], [0], [dnl +dummy@ovs-dummy: hit:0 missed:0 + br0: + br0 65534/100: (dummy-internal) + p0 1/1: (dummy) + int-br: + int-br 65534/2: (dummy-internal) + t1 3/3: (gre: key=456, remote_ip=1.1.2.92) +]) + +AT_CHECK([ovs-appctl dpif/show], [0], [dnl +dummy@ovs-dummy: hit:0 missed:0 + br0: + br0 65534/100: (dummy-internal) + p0 1/1: (dummy) + int-br: + int-br 65534/2: (dummy-internal) + t1 3/3: (gre: key=456, remote_ip=1.1.2.92) +]) + +AT_CHECK([ovs-appctl netdev-dummy/ip4addr br0 1.1.2.88/24], [0], [OK +]) +AT_CHECK([ovs-appctl ovs/route/add 1.1.2.92/24 br0], [0], [OK +]) +AT_CHECK([ovs-ofctl add-flow br0 'priority=1,action=normal']) + +dnl Check ARP request +AT_CHECK([ovs-vsctl -- set Interface p0 options:pcap=p0.pcap]) +AT_CHECK([ovs-appctl netdev-dummy/receive int-br 'in_port(2),eth(src=aa:55:aa:55:00:00,dst=f8:bc:12:ff:ff:ff),eth_type(0x0800),ipv4(src=1.1.3.92,dst=1.1.3.88,proto=1,tos=0,ttl=64,frag=no),icmp(type=0,code=0)']) + +dnl Check ARP Snoop +AT_CHECK([ovs-appctl netdev-dummy/receive br0 'recirc_id(0),in_port(100),eth(src=f8:bc:12:44:34:b6,dst=ff:ff:ff:ff:ff:ff),eth_type(0x0806),arp(sip=1.1.2.92,tip=1.1.2.88,op=2,sha=f8:bc:12:44:34:b6,tha=00:00:00:00:00:00)']) + +AT_CHECK([ovs-appctl tnl/neigh/show | tail -n+3 | sort], [0], [dnl +1.1.2.92 f8:bc:12:44:34:b6 br0 +]) + +AT_CHECK([ovs-appctl tnl/ports/show |sort], [0], [dnl +Listening ports: +gre_sys (3) +]) + +AT_CHECK([ovs-ofctl add-flow br0 'priority=99,udp,action=normal']) + +dnl Check GRE tunnel push +AT_CHECK([ovs-ofctl add-flow int-br action=3]) + +AT_CHECK([ovs-appctl ofproto/trace ovs-dummy 'in_port(2),eth_type(0x0800),ipv4(src=1.1.3.88,dst=1.1.3.112,proto=17,tos=0,ttl=64,frag=no),udp(src=51283,dst=4789)'], [0], [stdout]) +AT_CHECK([tail -1 stdout], [0], + [Datapath actions: tnl_push(tnl_port(3),header(size=42,type=3,eth(dst=f8:bc:12:44:34:b6,src=aa:55:aa:55:00:00,dl_type=0x0800),ipv4(src=1.1.2.88,dst=1.1.2.92,proto=47,tos=0,ttl=64,frag=0x4000),gre((flags=0x2000,proto=0x6558),key=0x1c8)),out_port(100)) +]) + +AT_CHECK([ovs-appctl netdev-dummy/receive int-br '50540000000a5054000000091234']) +AT_CHECK([ovs-ofctl dump-flows br0 | ofctl_strip | sort], [0], [dnl) + n_packets=3, n_bytes=140, priority=1 actions=NORMAL + priority=99,udp actions=NORMAL +NXST_FLOW reply: +]) + +OVS_VSWITCHD_STOP +AT_CLEANUP