From patchwork Sat Dec 17 22:24:04 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Finucane X-Patchwork-Id: 706737 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 3th20l0vRtz9vFF for ; Sun, 18 Dec 2016 09:29:27 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="key not found in DNS" (0-bit key; unprotected) header.d=that.guru header.i=@that.guru header.b="SOh46iMd"; dkim-atps=neutral Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id 786ABB76; Sat, 17 Dec 2016 22:26:46 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@mail.linuxfoundation.org Received: from smtp2.linuxfoundation.org (smtp2.linux-foundation.org [172.17.192.36]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 56AB0B73 for ; Sat, 17 Dec 2016 22:26:43 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from nov-007-i612.relay.mailchannels.net (nov-007-i612.relay.mailchannels.net [46.232.183.166]) by smtp2.linuxfoundation.org (Postfix) with ESMTPS id 4BED61DAC2 for ; Sat, 17 Dec 2016 22:26:32 +0000 (UTC) X-Sender-Id: mxroute|x-authuser|stephen@that.guru Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 564C1A0881 for ; Sat, 17 Dec 2016 22:24:19 +0000 (UTC) Received: from one.mxroute.com (ip-10-120-4-226.us-west-2.compute.internal [10.120.4.226]) by relay.mailchannels.net (Postfix) with ESMTPA id 49A37A0F5C for ; Sat, 17 Dec 2016 22:24:18 +0000 (UTC) X-Sender-Id: mxroute|x-authuser|stephen@that.guru Received: from one.mxroute.com ([UNAVAILABLE]. [10.90.135.124]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.7.8); Sat, 17 Dec 2016 22:24:19 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: mxroute|x-authuser|stephen@that.guru X-MailChannels-Auth-Id: mxroute X-MC-Loop-Signature: 1482013458988:981368876 X-MC-Ingress-Time: 1482013458987 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=that.guru; s=default; h=Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:MIME-Version :Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=KgdX9c3O4bBSLSNfWKyDBluCzveUcrsxOnfcgkFbcX8=; b=SOh46iMd3zf2999ghd73gkypfY 98KKSIm5bhiKVLAjrttcfzuFWniZINUPB3pRdDT+1j8jyfk09kwUuFknf9XJz+I1izb9UG2JXFmeg dIG/WOzLokHqXkLj7Bgo8k3v5XJ2wg33VmyxlAJdCsMbbXoLF7XKBemVn7R1rXEcCR6XuGyGgMF/X Zv7VYL8Vm1Kt61URSuS8HfnC03T7CMRG9QzRn8U7XhtF1Slz4xCTA7RAqGaFODw3DUdg5Ed60wtMl LUiBIlsLGx0vDPygTQ7uhDPaEwHG3VIUg86Ub6wGDMgzFC1KrCTCQjp2ULlipK37xiw/VqR9CLnkA zagOXdlA==; From: Stephen Finucane To: dev@openvswitch.org Date: Sat, 17 Dec 2016 22:24:04 +0000 Message-Id: <20161217222408.22059-1-stephen@that.guru> X-Mailer: git-send-email 2.9.3 X-AuthUser: stephen@that.guru X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, LOTS_OF_MONEY,NORMAL_HTTP_TO_IP,RCVD_IN_DNSWL_NONE,T_DKIM_INVALID autolearn=no version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp2.linux-foundation.org Subject: [ovs-dev] [PATCH 1/5] doc: Add vlan cookbook from website 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 is mostly copied verbatim. Signed-off-by: Stephen Finucane --- Documentation/automake.mk | 2 + Documentation/howto/index.rst | 1 + Documentation/howto/vlan.png | Bin 0 -> 83598 bytes Documentation/howto/vlan.rst | 142 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 145 insertions(+) create mode 100644 Documentation/howto/vlan.png create mode 100644 Documentation/howto/vlan.rst diff --git a/Documentation/automake.mk b/Documentation/automake.mk index b02d63e..5a64836 100644 --- a/Documentation/automake.mk +++ b/Documentation/automake.mk @@ -41,6 +41,8 @@ EXTRA_DIST += \ Documentation/howto/native-tunneling.rst \ Documentation/howto/lisp.rst \ Documentation/howto/openstack-containers.rst \ + Documentation/howto/vlan.png \ + Documentation/howto/vlan.rst \ Documentation/howto/vtep.rst \ Documentation/ref/index.rst \ Documentation/faq/index.rst \ diff --git a/Documentation/howto/index.rst b/Documentation/howto/index.rst index fe85a34..9dac2e1 100644 --- a/Documentation/howto/index.rst +++ b/Documentation/howto/index.rst @@ -39,6 +39,7 @@ topics covered herein, refer to :doc:`/topics/index`. ssl lisp native-tunneling + vlan vtep .. toctree:: diff --git a/Documentation/howto/vlan.png b/Documentation/howto/vlan.png new file mode 100644 index 0000000000000000000000000000000000000000..3a08d09dc5919452717fe4ac5a2785308240e62f GIT binary patch literal 83598 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�s5 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 ZF=80m;=fj|BSAqv^3uvu)e@#*{|~{0huHuC literal 0 HcmV?d00001 diff --git a/Documentation/howto/vlan.rst b/Documentation/howto/vlan.rst new file mode 100644 index 0000000..629fc1e --- /dev/null +++ b/Documentation/howto/vlan.rst @@ -0,0 +1,142 @@ +.. + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file except in compliance with the License. You may obtain + a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + + Convention for heading levels in Open vSwitch documentation: + + ======= Heading 0 (reserved for the title in a document) + ------- Heading 1 + ~~~~~~~ Heading 2 + +++++++ Heading 3 + ''''''' Heading 4 + + Avoid deeper levels because they do not render well. + +================================ +Isolating VM Traffic Using VLANs +================================ + +This document describes how to use Open vSwitch is to isolate VM traffic using +VLANs. + +.. image:: vlan.png + :align: center + +Setup +----- + +This guide assumes the environment is configured as described below. + +Two Physical Networks +~~~~~~~~~~~~~~~~~~~~~ + +- Data Network + + Ethernet network for VM data traffic, which will carry VLAN-tagged traffic + between VMs. Your physical switch(es) must be capable of forwarding + VLAN-tagged traffic and the physical switch ports should operate as VLAN + trunks. (Usually this is the default behavior. Configuring your physical + switching hardware is beyond the scope of this document.) + +- Management Network + + This network is not strictly required, but it is a simple way to give the + physical host an IP address for remote access, since an IP address cannot be + assigned directly to eth0 (more on that in a moment). + +Two Physical Hosts +~~~~~~~~~~~~~~~~~~ + +The environment assumes the use of two hosts: `host1` and `host2`. Both hosts +are running Open vSwitch. Each host has two NICs, eth0 and eth1, which are +configured as follows: + +- eth0 is connected to the Data Network. No IP address is assigned to eth0. + +- eth1 is connected to the Management Network (if necessary). eth1 has an IP + address that is used to reach the physical host for management. + +Four Virtual Machines +~~~~~~~~~~~~~~~~~~~~~ + +Each host will run two virtual machines (VMs). `vm1` and `vm2` are running on +`host1`, while `vm3` and `vm4` are running on `host2`. + +Each VM has a single interface that appears as a Linux device (e.g., ``tap0``) +on the physical host. + +.. note:: + For Xen/XenServer, VM interfaces appears as Linux devices with names like + ``vif1.0``. Other Linux systems may present these interfaces as ``vnet0``, + ``vnet1``, etc. + +Configuration Steps +------------------- + +Perform the following configuration on `host1`: + +#. Create an OVS bridge:: + + $ ovs-vsctl add-br br0 + +#. Add ``eth0`` to the bridge:: + + $ ovs-vsctl add-port br0 eth0

+ + .. note:: + + By default, all OVS ports are VLAN trunks, so eth0 will pass all VLANs + + .. note:: + + When you add eth0 to the OVS bridge, any IP addresses that might have + been assigned to eth0 stop working. IP address assigned to eth0 should be + migrated to a different interface before adding eth0 to the OVS bridge. + This is the reason for the separate management connection via eth1. + +#. Add `vm1` as an "access port" on VLAN 100. This means that traffic coming + into OVS from VM1 will be untagged and considered part of VLAN 100:: + + $ ovs-vsctl add-port br0 tap0 tag=100 + + Add VM2 on VLAN 200:: + + $ ovs-vsctl add-port br0 tap1 tag=200 + +Repeat these steps on `host2`: + +#. Setup a bridge with eth0 as a VLAN trunk:: + + $ ovs-vsctl add-br br0 + $ ovs-vsctl add-port br0 eth0 + +#. Add VM3 to VLAN 100:: + + $ ovs-vsctl add-port br0 tap0 tag=100 + +#. Add VM4 to VLAN 200:: + + $ ovs-vsctl add-port br0 tap1 tag=200 + +Validation +---------- + +Pings from `vm1` to `vm3` should succeed, as these two VMs are on the same +VLAN. + +Pings from `vm2` to `vm4` should also succeed, since these VMs are also on the +same VLAN as each other. + +Pings from `vm1`/`vm3` to `vm2`/`vm4` should not succeed, as these VMs are on +different VLANs. If you have a router configured to forward between the VLANs, +then pings will work, but packets arriving at `vm3` should have the source MAC +address of the router, not of `vm1`.