updated check for creating interfaces on nodes

This commit is contained in:
bharnden 2019-11-15 23:45:01 -08:00
parent 8ad9b7d728
commit 95cd792675
3 changed files with 9 additions and 7 deletions

View file

@ -9,11 +9,10 @@ from coretk.dialogs.sessions import SessionsDialog
from coretk.emaneodelnodeconfig import EmaneModelNodeConfig from coretk.emaneodelnodeconfig import EmaneModelNodeConfig
from coretk.interface import InterfaceManager from coretk.interface import InterfaceManager
from coretk.mobilitynodeconfig import MobilityNodeConfig from coretk.mobilitynodeconfig import MobilityNodeConfig
from coretk.nodeutils import NodeDraw from coretk.nodeutils import NodeDraw, NodeUtils
from coretk.servicenodeconfig import ServiceNodeConfig from coretk.servicenodeconfig import ServiceNodeConfig
from coretk.wlannodeconfig import WlanNodeConfig from coretk.wlannodeconfig import WlanNodeConfig
DEFAULT_NODES = {"router", "host", "PC", "mdr", "prouter"}
OBSERVERS = { OBSERVERS = {
"processes": "ps", "processes": "ps",
"ifconfig": "ifconfig", "ifconfig": "ifconfig",
@ -406,9 +405,6 @@ class CoreClient:
else: else:
return self.reusable.pop(0) return self.reusable.pop(0)
def is_model_node(self, name):
return name in DEFAULT_NODES or name in self.custom_nodes
def create_node(self, x, y, node_type, model): def create_node(self, x, y, node_type, model):
""" """
Add node, with information filled in, to grpc manager Add node, with information filled in, to grpc manager
@ -511,7 +507,7 @@ class CoreClient:
def create_interface(self, canvas_node): def create_interface(self, canvas_node):
interface = None interface = None
core_node = canvas_node.core_node core_node = canvas_node.core_node
if self.is_model_node(core_node.model): if NodeUtils.is_interface_node(core_node.type):
ifid = len(canvas_node.interfaces) ifid = len(canvas_node.interfaces)
name = f"eth{ifid}" name = f"eth{ifid}"
interface = core_pb2.Interface( interface = core_pb2.Interface(

View file

@ -1,11 +1,12 @@
import tkinter as tk import tkinter as tk
from tkinter import ttk from tkinter import ttk
from coretk.coreclient import DEFAULT_NODES
from coretk.dialogs.dialog import Dialog from coretk.dialogs.dialog import Dialog
from coretk.dialogs.icondialog import IconDialog from coretk.dialogs.icondialog import IconDialog
from coretk.dialogs.nodeservice import NodeService from coretk.dialogs.nodeservice import NodeService
DEFAULT_NODES = {"router", "host", "PC", "mdr", "prouter"}
class NodeConfigDialog(Dialog): class NodeConfigDialog(Dialog):
def __init__(self, master, app, canvas_node): def __init__(self, master, app, canvas_node):

View file

@ -44,6 +44,11 @@ class NodeUtils:
NODES = [] NODES = []
NETWORK_NODES = [] NETWORK_NODES = []
NODE_ICONS = {} NODE_ICONS = {}
INTERFACE_NODE = {NodeType.DEFAULT, NodeType.DOCKER, NodeType.LXC}
@classmethod
def is_interface_node(cls, node_type):
return node_type in cls.INTERFACE_NODE
@classmethod @classmethod
def node_icon(cls, node_type, model): def node_icon(cls, node_type, model):