Share the same physical port between Quagga and compute node by using different VLAN tag
Change-Id: Id82786a0ea467b47783fa7fa58b87ab187927ff2
diff --git a/trellis/trellis_vlan.json b/trellis/trellis_vlan.json
index 798e0e2..f08093b 100644
--- a/trellis/trellis_vlan.json
+++ b/trellis/trellis_vlan.json
@@ -43,8 +43,9 @@
"of:0000000000000205/4" : {
"interfaces" : [
{
- "ips" : [ "10.0.3.254/24" ],
- "vlan-tagged": [30]
+ "ips" : [ "10.0.3.254/24", "10.0.1.254/24", "2000::1ff/120" ],
+ "vlan-tagged": [10],
+ "vlan-native": 30
}
]
},
@@ -79,14 +80,6 @@
"vlan-untagged": 10
}
]
- },
- "of:0000000000000205/9" : {
- "interfaces" : [
- {
- "ips" : [ "10.0.1.254/24", "2000::1ff/120" ],
- "vlan-untagged": 10
- }
- ]
}
},
"devices" : {
diff --git a/trellis/trellis_vlan.py b/trellis/trellis_vlan.py
index 1b29008..5621672 100755
--- a/trellis/trellis_vlan.py
+++ b/trellis/trellis_vlan.py
@@ -38,11 +38,14 @@
h1 = self.addHost('h1', cls=DhcpClient, mac='00:aa:00:00:00:01')
h2 = self.addHost('h2', cls=TaggedDhcpClient, mac='00:aa:00:00:00:02', vlan=20)
h3 = self.addHost('h3', cls=DhcpClient, mac='00:aa:00:00:00:03')
- h4 = self.addHost('h4', cls=TaggedDhcpClient, mac='00:aa:00:00:00:04', vlan=30)
+ h4 = self.addHost('h4', cls=DhcpClient, mac='00:aa:00:00:00:04')
+ # In order to emulate tagged Quagga VM in h4
+ h4ovs = self.addSwitch('h4ovs', cls=OVSBridge)
self.addLink(h1, s204)
self.addLink(h2, s204)
self.addLink(h3, s205)
- self.addLink(h4, s205)
+ self.addLink(h4ovs, s205)
+ self.addLink(h4ovs, h4)
# IPv6 Hosts
h1v6 = self.addHost('h1v6', cls=RoutedHost, mac='00:bb:00:00:00:01', ips=['2000::201/120'], gateway='2000::2ff')
@@ -68,13 +71,13 @@
self.addLink(cs0, nat)
# Internal Quagga bgp1
- intfs = {'bgp1-eth0': {'ipAddrs': ['10.0.1.2/24', '2000::102/120'], 'mac': '00:88:00:00:00:02'},
+ intfs = {'bgp1-eth0': {'ipAddrs': ['10.0.1.2/24', '2000::102/120'], 'mac': '00:88:00:00:00:02', 'vlan': '10'},
'bgp1-eth1': {'ipAddrs': ['172.16.0.2/12']}}
bgp1 = self.addHost('bgp1', cls=BgpRouter,
interfaces=intfs,
quaggaConfFile='./bgpdbgp1.conf',
zebraConfFile='./zebradbgp1.conf')
- self.addLink(bgp1, s205)
+ self.addLink(bgp1, h4ovs)
self.addLink(bgp1, cs0)
# External Quagga r1