daemon: removed nem map from individual emane networks, all nems are stored and generated from the emane manager

This commit is contained in:
Blake Harnden 2020-07-05 21:29:03 -07:00
parent fcda1f9f14
commit 5cc4d92760
9 changed files with 64 additions and 89 deletions

View file

@ -501,8 +501,8 @@ class CoreXmlWriter:
iface = node.get_iface(iface_data.id)
# check if emane interface
if isinstance(iface.net, EmaneNet):
nem = iface.net.getnemid(iface)
add_attribute(iface_element, "nem", nem)
nem_id = self.session.emane.get_nem_id(iface)
add_attribute(iface_element, "nem", nem_id)
add_attribute(iface_element, "id", iface_data.id)
add_attribute(iface_element, "name", iface_data.name)
add_attribute(iface_element, "mac", iface_data.mac)

View file

@ -9,7 +9,6 @@ from core import utils
from core.emane.nodes import EmaneNet
from core.executables import IP
from core.nodes.base import CoreNodeBase, NodeBase
from core.nodes.interface import CoreInterface
if TYPE_CHECKING:
from core.emulator.session import Session
@ -38,11 +37,10 @@ def add_mapping(parent_element: etree.Element, maptype: str, mapref: str) -> Non
def add_emane_iface(
host_element: etree.Element,
iface: CoreInterface,
nem_id: int,
platform_name: str = "p1",
transport_name: str = "t1",
) -> etree.Element:
nem_id = iface.net.nemidmap[iface]
host_id = host_element.get("id")
# platform data
@ -158,7 +156,8 @@ class CoreXmlDeployment:
for iface in node.get_ifaces():
emane_element = None
if isinstance(iface.net, EmaneNet):
emane_element = add_emane_iface(host_element, iface)
nem_id = self.session.emane.get_nem_id(iface)
emane_element = add_emane_iface(host_element, nem_id)
parent_element = host_element
if emane_element is not None:

View file

@ -193,7 +193,6 @@ def build_platform_xml(
value = emane_manager.get_config(name)
add_param(platform_element, name, value)
platform_element.append(nem_element)
emane_net.setnemid(iface, nem_id)
mac = _MAC_PREFIX + ":00:00:"
mac += f"{(nem_id >> 8) & 0xFF:02X}:{nem_id & 0xFF:02X}"
iface.set_mac(mac)