Merge branch 'develop' of https://github.com/coreemu/core into develop
This commit is contained in:
commit
c0c23190d1
4 changed files with 37 additions and 4 deletions
|
@ -909,3 +909,33 @@ class CoreClient:
|
||||||
def set_emane_model_config(self, node_id, model, config, interface=None):
|
def set_emane_model_config(self, node_id, model, config, interface=None):
|
||||||
logging.info("setting emane model config: %s %s %s", node_id, model, interface)
|
logging.info("setting emane model config: %s %s %s", node_id, model, interface)
|
||||||
self.emane_model_configs[(node_id, model, interface)] = config
|
self.emane_model_configs[(node_id, model, interface)] = config
|
||||||
|
|
||||||
|
def copy_node_service(self, _from, _to):
|
||||||
|
services = self.canvas_nodes[_from].core_node.services
|
||||||
|
self.canvas_nodes[_to].core_node.services[:] = services
|
||||||
|
|
||||||
|
def copy_node_config(self, _from, _to):
|
||||||
|
node_type = self.canvas_nodes[_from].core_node.type
|
||||||
|
if node_type == core_pb2.NodeType.DEFAULT:
|
||||||
|
services = self.canvas_nodes[_from].core_node.services
|
||||||
|
self.canvas_nodes[_to].core_node.services[:] = services
|
||||||
|
config = self.service_configs.get(_from)
|
||||||
|
if config:
|
||||||
|
self.service_configs[_to] = config
|
||||||
|
file_configs = self.file_configs.get(_from)
|
||||||
|
if file_configs:
|
||||||
|
for key, value in file_configs.items():
|
||||||
|
if _to not in self.file_configs:
|
||||||
|
self.file_configs[_to] = {}
|
||||||
|
self.file_configs[_to][key] = value
|
||||||
|
elif node_type == core_pb2.NodeType.WIRELESS_LAN:
|
||||||
|
config = self.wlan_configs.get(_from)
|
||||||
|
if config:
|
||||||
|
self.wlan_configs[_to] = config
|
||||||
|
config = self.mobility_configs.get(_from)
|
||||||
|
if config:
|
||||||
|
self.mobility_configs[_to] = config
|
||||||
|
elif node_type == core_pb2.NodeType.EMANE:
|
||||||
|
config = self.emane_model_configs.get(_from)
|
||||||
|
if config:
|
||||||
|
self.emane_model_configs[_to] = config
|
||||||
|
|
|
@ -870,6 +870,7 @@ class CanvasGraph(tk.Canvas):
|
||||||
copy_map[canvas_nid] = node.id
|
copy_map[canvas_nid] = node.id
|
||||||
self.core.canvas_nodes[copy.id] = node
|
self.core.canvas_nodes[copy.id] = node
|
||||||
self.nodes[node.id] = node
|
self.nodes[node.id] = node
|
||||||
|
self.core.copy_node_config(core_node.id, copy.id)
|
||||||
|
|
||||||
edges = self.nodes[canvas_nid].edges
|
edges = self.nodes[canvas_nid].edges
|
||||||
for edge in edges:
|
for edge in edges:
|
||||||
|
|
|
@ -19,8 +19,8 @@ INT_TYPES = {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
def file_button_click(value):
|
def file_button_click(value, parent):
|
||||||
file_path = filedialog.askopenfilename(title="Select File")
|
file_path = filedialog.askopenfilename(title="Select File", parent=parent)
|
||||||
if file_path:
|
if file_path:
|
||||||
value.set(file_path)
|
value.set(file_path)
|
||||||
|
|
||||||
|
@ -111,7 +111,7 @@ class ConfigFrame(ttk.Notebook):
|
||||||
file_frame.columnconfigure(0, weight=1)
|
file_frame.columnconfigure(0, weight=1)
|
||||||
entry = ttk.Entry(file_frame, textvariable=value)
|
entry = ttk.Entry(file_frame, textvariable=value)
|
||||||
entry.grid(row=0, column=0, sticky="ew", padx=PADX)
|
entry.grid(row=0, column=0, sticky="ew", padx=PADX)
|
||||||
func = partial(file_button_click, value)
|
func = partial(file_button_click, value, self)
|
||||||
button = ttk.Button(file_frame, text="...", command=func)
|
button = ttk.Button(file_frame, text="...", command=func)
|
||||||
button.grid(row=0, column=1)
|
button.grid(row=0, column=1)
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -126,7 +126,9 @@ class LinuxNetClient:
|
||||||
:param str device: device to flush
|
:param str device: device to flush
|
||||||
:return: nothing
|
:return: nothing
|
||||||
"""
|
"""
|
||||||
self.run(f"{IP_BIN} -6 address flush dev {device}")
|
self.run(
|
||||||
|
f"[ -e /sys/class/net/{device} ] && {IP_BIN} -6 address flush dev {device} || true"
|
||||||
|
)
|
||||||
|
|
||||||
def device_mac(self, device, mac):
|
def device_mac(self, device, mac):
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in a new issue