Exemplo n.º 1
0
class NetworkHelper():
    """Network setup helper for device coupler"""
    def __init__(self, trunk_iface, bridge, test_vlans):
        self._ovs_helper = OvsHelper()
        self._logger = get_logger('networkhelper')
        self._trunk_iface = trunk_iface
        self._bridge = bridge
        self._test_vlans = list(range(test_vlans[0], test_vlans[1] + 1))

    def setup(self):
        """Setup n/w"""
        self._logger.info('Setting up device coupler network.')
        self._setup_ovs_bridge()

    def cleanup(self):
        """Clean up n/w"""
        self._delete_ovs_bridge()
        self._logger.info('Cleaned up device coupler network.')

    def _setup_ovs_bridge(self):
        self._ovs_helper.create_ovs_bridge(self._bridge)
        self._ovs_helper.add_iface_to_bridge(self._bridge, self._trunk_iface)
        self._ovs_helper.set_trunk_vlan(self._trunk_iface, self._test_vlans)

    def _delete_ovs_bridge(self):
        self._ovs_helper.delete_ovs_bridge(self._bridge)

    def get_ovs_bridge(self):
        return self._bridge
Exemplo n.º 2
0
 def test_ovs_bridge_vlan(self):
     """Test adding interfaces to OVS bridge with VLANs"""
     ovs = OvsHelper()
     bridge = 'test_br'
     ovs.delete_ovs_bridge(bridge)
     ovs.create_ovs_bridge(bridge)
     for index in range(1, 5):
         self._create_netns_with_veth_pair(index)
         iface = 'dev%s' % index
         tag = 200 + index % 2
         ovs.add_iface_to_bridge(bridge, iface)
         ovs.set_native_vlan(iface, tag)
     retcode, _, _ = ovs._run_shell_no_raise(
         'sudo ip netns exec vnet1 ping -c 3 10.1.1.3')
     self.assertEqual(retcode, 0)
     retcode, _, _ = ovs._run_shell_no_raise(
         'sudo ip netns exec vnet1 ping -c 3 10.1.1.4')
     self.assertEqual(retcode, 1)
     for index in range(1, 5):
         vnet = 'vnet%s' % index
         self._delete_netns(vnet)
     ovs.delete_ovs_bridge(bridge)