本文整理汇总了Python中gns3.ports.ethernet_port.EthernetPort.setPacketCaptureSupported方法的典型用法代码示例。如果您正苦于以下问题:Python EthernetPort.setPacketCaptureSupported方法的具体用法?Python EthernetPort.setPacketCaptureSupported怎么用?Python EthernetPort.setPacketCaptureSupported使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类gns3.ports.ethernet_port.EthernetPort
的用法示例。
在下文中一共展示了EthernetPort.setPacketCaptureSupported方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: update
# 需要导入模块: from gns3.ports.ethernet_port import EthernetPort [as 别名]
# 或者: from gns3.ports.ethernet_port.EthernetPort import setPacketCaptureSupported [as 别名]
def update(self, new_settings):
"""
Updates the settings for this Ethernet switch.
:param new_settings: settings dictionary
"""
updated = False
params = {}
if "ports" in new_settings:
ports_to_update = {}
ports = new_settings["ports"]
for port_number in ports.keys():
if port_number in self._settings["ports"]:
if self._settings["ports"][port_number] != ports[port_number]:
for port in self._ports:
if port.portNumber() == port_number and not port.isFree():
ports_to_update[port_number] = ports[port_number]
break
continue
port = EthernetPort(str(port_number))
port.setPortNumber(port_number)
port.setStatus(EthernetPort.started)
port.setPacketCaptureSupported(True)
self._ports.append(port)
updated = True
log.debug("port {} has been added".format(port_number))
if ports_to_update:
params["ports"] = []
for port_number, info in ports_to_update.items():
info["port"] = port_number
params["ports"].append(info)
updated = True
# delete ports that are not configured
for port_number in self._settings["ports"].keys():
if port_number not in new_settings["ports"]:
for port in self._ports.copy():
if port.portNumber() == port_number:
self._ports.remove(port)
log.debug("port {} has been removed".format(port.name()))
break
self._settings["ports"] = new_settings["ports"].copy()
if "name" in new_settings and new_settings["name"] != self.name():
if self.hasAllocatedName(new_settings["name"]):
self.error_signal.emit(self.id(), 'Name "{}" is already used by another node'.format(new_settings["name"]))
return
params["name"] = new_settings["name"]
updated = True
if updated:
log.debug("{} is being updated: {}".format(self.name(), params))
self.httpPut("/dynamips/devices/{device_id}".format(device_id=self._device_id), self._updateCallback, body=params)
else:
log.info("{} has been updated".format(self.name()))
self.updated_signal.emit()
示例2: _addAdapters
# 需要导入模块: from gns3.ports.ethernet_port import EthernetPort [as 别名]
# 或者: from gns3.ports.ethernet_port.EthernetPort import setPacketCaptureSupported [as 别名]
def _addAdapters(self, adapters):
"""
Adds adapters.
:param adapters: number of adapters
"""
interface_number = segment_number = 0
for adapter_number in range(0, adapters):
if self._first_port_name and adapter_number == 0:
port_name = self._first_port_name
else:
port_name = self._port_name_format.format(
interface_number,
segment_number,
port0 = interface_number,
port1 = 1 + interface_number,
segment0 = segment_number,
segment1 = 1 + segment_number
)
interface_number += 1
if self._port_segment_size and interface_number % self._port_segment_size == 0:
segment_number += 1
interface_number = 0
if self._settings["use_ubridge"]:
new_port = EthernetPort(port_name)
else:
new_port = EthernetPort(port_name, nio=NIOVMNET)
new_port.setAdapterNumber(adapter_number)
new_port.setPortNumber(0)
new_port.setPacketCaptureSupported(True)
self._ports.append(new_port)
log.debug("Adapter {} with port {} has been added".format(adapter_number, port_name))
示例3: update
# 需要导入模块: from gns3.ports.ethernet_port import EthernetPort [as 别名]
# 或者: from gns3.ports.ethernet_port.EthernetPort import setPacketCaptureSupported [as 别名]
def update(self, new_settings):
"""
Updates the settings for this Ethernet switch.
:param new_settings: settings dictionary
"""
ports_to_update = {}
ports = new_settings["ports"]
updated = False
for port_number in ports.keys():
if port_number in self._settings["ports"]:
if self._settings["ports"][port_number] != ports[port_number]:
for port in self._ports:
if port.portNumber() == port_number and not port.isFree():
ports_to_update[port_number] = ports[port_number]
break
continue
port = EthernetPort(str(port_number))
port.setPortNumber(port_number)
port.setStatus(EthernetPort.started)
port.setPacketCaptureSupported(True)
self._ports.append(port)
updated = True
log.debug("port {} has been added".format(port_number))
params = {"id": self._ethsw_id}
if ports_to_update:
params["ports"] = {}
for port_number, info in ports_to_update.items():
params["ports"][port_number] = info
updated = True
if "name" in new_settings and new_settings["name"] != self.name():
if self.hasAllocatedName(new_settings["name"]):
self.error_signal.emit(self.id(), 'Name "{}" is already used by another node'.format(new_settings["name"]))
return
params["name"] = new_settings["name"]
updated = True
# delete ports that are not configured
for port_number in self._settings["ports"].keys():
if port_number not in new_settings["ports"]:
for port in self._ports.copy():
if port.portNumber() == port_number:
self._ports.remove(port)
log.debug("port {} has been removed".format(port.name()))
break
self._settings["ports"] = new_settings["ports"].copy()
if updated:
log.debug("{} is being updated: {}".format(self.name(), params))
self._server.send_message("dynamips.ethsw.update", params, self._updateCallback)
示例4: _addAdapters
# 需要导入模块: from gns3.ports.ethernet_port import EthernetPort [as 别名]
# 或者: from gns3.ports.ethernet_port.EthernetPort import setPacketCaptureSupported [as 别名]
def _addAdapters(self, adapters):
"""
Adds adapters.
:param adapters: number of adapters
"""
for port_number in range(0, adapters):
port_name = EthernetPort.longNameType() + str(port_number)
new_port = EthernetPort(port_name)
new_port.setPortNumber(port_number)
new_port.setPacketCaptureSupported(True)
self._ports.append(new_port)
log.debug("port {} has been added".format(port_name))
示例5: update
# 需要导入模块: from gns3.ports.ethernet_port import EthernetPort [as 别名]
# 或者: from gns3.ports.ethernet_port.EthernetPort import setPacketCaptureSupported [as 别名]
def update(self, new_settings):
"""
Updates the settings for this Ethernet hub.
:param new_settings: settings dictionary
"""
updated = False
if "ports" in new_settings:
ports_to_create = []
ports = new_settings["ports"]
for port_number in ports:
if port_number not in ports_to_create:
ports_to_create.append(port_number)
for port in self._ports.copy():
if port.isFree():
self._ports.remove(port)
updated = True
log.debug("port {} has been removed".format(port.name()))
elif port.name() in ports_to_create:
ports_to_create.remove(port.name())
for port_name in ports_to_create:
port = EthernetPort(port_name)
port.setPortNumber(int(port_name))
port.setStatus(EthernetPort.started)
port.setPacketCaptureSupported(True)
self._ports.append(port)
updated = True
log.debug("port {} has been added".format(port_name))
self._settings["ports"] = new_settings["ports"].copy()
params = {}
if "name" in new_settings and new_settings["name"] != self.name():
if self.hasAllocatedName(new_settings["name"]):
self.error_signal.emit(self.id(), 'Name "{}" is already used by another node'.format(new_settings["name"]))
return
params["name"] = new_settings["name"]
updated = True
if updated:
if params:
log.debug("{} is being updated: {}".format(self.name(), params))
self.httpPut("/dynamips/devices/{device_id}".format(device_id=self._device_id), self._updateCallback, body=params)
else:
log.info("{} has been updated".format(self.name()))
self.updated_signal.emit()
示例6: _addAdapters
# 需要导入模块: from gns3.ports.ethernet_port import EthernetPort [as 别名]
# 或者: from gns3.ports.ethernet_port.EthernetPort import setPacketCaptureSupported [as 别名]
def _addAdapters(self, adapters):
"""Adds adapters.
:param adapters: number of adapters
"""
for adapter_number in range(0, adapters):
adapter_name = "eth" + str(adapter_number)
short_name = EthernetPort.shortNameType() + str(adapter_number)
new_port = EthernetPort(adapter_name)
new_port.setShortName(short_name)
new_port.setAdapterNumber(adapter_number)
new_port.setPortNumber(0)
new_port.setHotPluggable(False)
new_port.setPacketCaptureSupported(True)
self._ports.append(new_port)
log.debug("Adapter {} has been added".format(adapter_name))
示例7: setup
# 需要导入模块: from gns3.ports.ethernet_port import EthernetPort [as 别名]
# 或者: from gns3.ports.ethernet_port.EthernetPort import setPacketCaptureSupported [as 别名]
def setup(self, name=None, device_id=None, initial_ports=[]):
"""
Setups this Ethernet switch.
:param name: optional name for this switch
:param device_id: device identifier on the server
:param initial_ports: ports to be automatically added when creating this switch
"""
# let's create a unique name if none has been chosen
if not name:
name = self.allocateName("SW")
if not name:
self.error_signal.emit(self.id(), "could not allocate a name for this Ethernet switch")
return
self._settings["name"] = name
if not initial_ports:
# default configuration if no initial ports
for port_number in range(1, 9):
# add 8 ports
initial_ports.append({"name": str(port_number),
"port_number": port_number,
"type": "access",
"vlan": 1})
# add initial ports
for initial_port in initial_ports:
port = EthernetPort(initial_port["name"])
port.setPortNumber(initial_port["port_number"])
if "id" in initial_port:
port.setId(initial_port["id"])
port.setStatus(EthernetPort.started)
port.setPacketCaptureSupported(True)
self._ports.append(port)
self._settings["ports"][port.portNumber()] = {"type": initial_port["type"],
"vlan": initial_port["vlan"],
"ethertype": initial_port.get("ethertype", "")}
params = {"name": name,
"device_type": "ethernet_switch"}
if device_id:
params["device_id"] = device_id
self.httpPost("/dynamips/devices", self._setupCallback, body=params)
示例8: setup
# 需要导入模块: from gns3.ports.ethernet_port import EthernetPort [as 别名]
# 或者: from gns3.ports.ethernet_port.EthernetPort import setPacketCaptureSupported [as 别名]
def setup(self, name=None, initial_ports=[]):
"""
Setups this Ethernet switch.
:param name: optional name for this switch
:param initial_ports: ports to be automatically added when creating this switch
"""
# let's create a unique name if none has been chosen
if not name:
name = self.allocateName("SW")
if not name:
self.error_signal.emit(self.id(), "could not allocate a name for this Ethernet switch")
return
if not initial_ports:
# default configuration if no initial ports
for port_number in range(1, 9):
# add 8 ports
initial_ports.append({"name": str(port_number),
"port_number": port_number,
"type": "access",
"vlan": 1})
# add initial ports
for initial_port in initial_ports:
port = EthernetPort(initial_port["name"])
port.setPortNumber(initial_port["port_number"])
if "id" in initial_port:
port.setId(initial_port["id"])
port.setStatus(EthernetPort.started)
port.setPacketCaptureSupported(True)
self._ports.append(port)
self._settings["ports"][port.portNumber()] = {"type": initial_port["type"],
"vlan": initial_port["vlan"]}
params = {"name": name}
self._server.send_message("dynamips.ethsw.create", params, self._setupCallback)