def _tear_down_network(self, router, instance, network_info): for vif in network_info: try: iface = FLAGS.data_iface udp_attrs = vif['meta']['quantum_udp_attrs'] port_attrs = vif['meta']['quantum_port_attrs'] adapter = router.slot[port_attrs['slot-id']] (dynint, dynport) = nio.interfaces_mips2dyn[port_attrs['port-id']] adapter.disconnect(dynint, dynport) adapter.delete_nio(dynint, dynport) delete_alias( iface, self._withmask( udp_attrs['src-address'], udp_attrs['prefix-len']), label=self._mklabel(udp_attrs['src-address'])) except Exception as e: LOG.error("Can not deallocate vif %s" % vif, e)
def _tear_down_network(self, router, instance, network_info): for vif in network_info: try: iface = FLAGS.data_iface udp_attrs = vif['meta']['quantum_udp_attrs'] port_attrs = vif['meta']['quantum_port_attrs'] adapter = router.slot[port_attrs['slot-id']] (dynint, dynport) = nio.interfaces_mips2dyn[port_attrs['port-id']] adapter.disconnect(dynint, dynport) adapter.delete_nio(dynint, dynport) delete_alias(iface, self._withmask(udp_attrs['src-address'], udp_attrs['prefix-len']), label=self._mklabel(udp_attrs['src-address'])) except Exception as e: LOG.error("Can not deallocate vif %s" % vif, e)
def _setup_network(self, context, router, instance, network_info): for vif in network_info: iface = FLAGS.data_iface udp_attrs = vif['meta']['quantum_udp_attrs'] port_attrs = vif['meta']['quantum_port_attrs'] on_same_machine = udp_attrs['dst-address'] in list_addresses(iface) LOG.debug("UDP attrs are %s, addresses are %s, on_same_machine is %s" % (udp_attrs, list_addresses(iface), on_same_machine)) add_alias( iface, self._withmask( udp_attrs['src-address'], udp_attrs['prefix-len']), label=self._mklabel(udp_attrs['src-address'])) if on_same_machine: delete_alias( iface, self._withmask( udp_attrs['dst-address'], udp_attrs['prefix-len']), label=self._mklabel(udp_attrs['dst-address'])) adapter = router.slot[port_attrs['slot-id']] if not adapter: model = port_attrs['slot-model'] if model: class_ = getattr(dynamips_lib, model.replace('-', '_')) adapter = class_(router, port_attrs['slot-id']) router.slot[port_attrs['slot-id']] = adapter else: LOG.error("Errant vif: %s" % vif) raise Exception("Expected slot model to be defined") LOG.debug("Creating nio to %s, addresses are %s" % (udp_attrs['dst-address'], list_addresses(iface))) nio = NIO_udp( self.dynamips, udp_attrs['src-port'], udp_attrs['dst-address'], udp_attrs['dst-port'], adapter=adapter, port=port_attrs['port-id']) adapter.nio(port_attrs['port-id'], nio) if on_same_machine: add_alias( iface, self._withmask( udp_attrs['dst-address'], udp_attrs['prefix-len']), label=self._mklabel(udp_attrs['dst-address']))
def _setup_network(self, context, router, instance, network_info): for vif in network_info: iface = FLAGS.data_iface udp_attrs = vif['meta']['quantum_udp_attrs'] port_attrs = vif['meta']['quantum_port_attrs'] on_same_machine = udp_attrs['dst-address'] in list_addresses(iface) LOG.debug( "UDP attrs are %s, addresses are %s, on_same_machine is %s" % (udp_attrs, list_addresses(iface), on_same_machine)) add_alias(iface, self._withmask(udp_attrs['src-address'], udp_attrs['prefix-len']), label=self._mklabel(udp_attrs['src-address'])) if on_same_machine: delete_alias(iface, self._withmask(udp_attrs['dst-address'], udp_attrs['prefix-len']), label=self._mklabel(udp_attrs['dst-address'])) adapter = router.slot[port_attrs['slot-id']] if not adapter: model = port_attrs['slot-model'] if model: class_ = getattr(dynamips_lib, model.replace('-', '_')) adapter = class_(router, port_attrs['slot-id']) router.slot[port_attrs['slot-id']] = adapter else: LOG.error("Errant vif: %s" % vif) raise Exception("Expected slot model to be defined") LOG.debug("Creating nio to %s, addresses are %s" % (udp_attrs['dst-address'], list_addresses(iface))) nio = NIO_udp(self.dynamips, udp_attrs['src-port'], udp_attrs['dst-address'], udp_attrs['dst-port'], adapter=adapter, port=port_attrs['port-id']) adapter.nio(port_attrs['port-id'], nio) if on_same_machine: add_alias(iface, self._withmask(udp_attrs['dst-address'], udp_attrs['prefix-len']), label=self._mklabel(udp_attrs['dst-address']))