예제 #1
0
 def _delete_linux_bridge(self, qbr_name):
     try:
         # delete linux bridge qbrxxx
         host_network.ip_link_set_dev(self._session, qbr_name, 'down')
         host_network.brctl_del_br(self._session, qbr_name)
     except Exception:
         LOG.debug("Fail to delete linux bridge %s", qbr_name)
예제 #2
0
파일: vif.py 프로젝트: arbrandes/nova
 def _delete_linux_bridge(self, qbr_name):
     try:
         # delete linux bridge qbrxxx
         host_network.ip_link_set_dev(self._session, qbr_name, 'down')
         host_network.brctl_del_br(self._session, qbr_name)
     except Exception:
         LOG.debug("Fail to delete linux bridge %s", qbr_name)
예제 #3
0
 def _create_veth_pair(self, dev1_name, dev2_name):
     """Create a pair of veth devices with the specified names,
     deleting any previous devices with those names.
     """
     LOG.debug("Create veth pair, port1:%(qvb)s, port2:%(qvo)s",
               {'qvb': dev1_name, 'qvo': dev2_name})
     for dev in [dev1_name, dev2_name]:
         self._delete_net_dev(dev)
     host_network.ip_link_add_veth_pair(self._session, dev1_name, dev2_name)
     for dev in [dev1_name, dev2_name]:
         host_network.ip_link_set_dev(self._session, dev, 'up')
         host_network.ip_link_set_promisc(self._session, dev, 'on')
예제 #4
0
파일: vif.py 프로젝트: arbrandes/nova
 def _create_veth_pair(self, dev1_name, dev2_name):
     """Create a pair of veth devices with the specified names,
     deleting any previous devices with those names.
     """
     LOG.debug("Create veth pair, port1:%(qvb)s, port2:%(qvo)s",
               {'qvb': dev1_name, 'qvo': dev2_name})
     for dev in [dev1_name, dev2_name]:
         self._delete_net_dev(dev)
     host_network.ip_link_add_veth_pair(self._session, dev1_name, dev2_name)
     for dev in [dev1_name, dev2_name]:
         host_network.ip_link_set_dev(self._session, dev, 'up')
         host_network.ip_link_set_promisc(self._session, dev, 'on')
예제 #5
0
    def _create_linux_bridge(self, vif_rec):
        """create a qbr linux bridge for neutron security group
        """
        iface_id = vif_rec['other_config']['neutron-port-id']
        linux_br_name = self._get_qbr_name(iface_id)
        if not self._device_exists(linux_br_name):
            LOG.debug("Create linux bridge %s", linux_br_name)
            host_network.brctl_add_br(self._session, linux_br_name)
            host_network.brctl_set_fd(self._session, linux_br_name, '0')
            host_network.brctl_set_stp(self._session, linux_br_name, 'off')
            host_network.ip_link_set_dev(self._session, linux_br_name, 'up')

        qvb_name, qvo_name = self._get_veth_pair_names(iface_id)
        if not self._device_exists(qvo_name):
            self._create_veth_pair(qvb_name, qvo_name)
            host_network.brctl_add_if(self._session, linux_br_name, qvb_name)
            host_network.ovs_create_port(
                self._session, CONF.xenserver.ovs_integration_bridge,
                qvo_name, iface_id, vif_rec['MAC'], 'active')
        return linux_br_name
예제 #6
0
파일: vif.py 프로젝트: arbrandes/nova
    def _create_linux_bridge(self, vif_rec):
        """create a qbr linux bridge for neutron security group
        """
        iface_id = vif_rec['other_config']['neutron-port-id']
        linux_br_name = self._get_qbr_name(iface_id)
        if not self._device_exists(linux_br_name):
            LOG.debug("Create linux bridge %s", linux_br_name)
            host_network.brctl_add_br(self._session, linux_br_name)
            host_network.brctl_set_fd(self._session, linux_br_name, '0')
            host_network.brctl_set_stp(self._session, linux_br_name, 'off')
            host_network.ip_link_set_dev(self._session, linux_br_name, 'up')

        qvb_name, qvo_name = self._get_veth_pair_names(iface_id)
        if not self._device_exists(qvo_name):
            self._create_veth_pair(qvb_name, qvo_name)
            host_network.brctl_add_if(self._session, linux_br_name, qvb_name)
            host_network.ovs_create_port(
                self._session, CONF.xenserver.ovs_integration_bridge,
                qvo_name, iface_id, vif_rec['MAC'], 'active')
        return linux_br_name