combined core.emulator.data and core.emulator.emudata, updated LinkData to leverage InterfaceData, instead of repeated interface fields, removed session from LinkData and LinkOptions
This commit is contained in:
parent
0725199d6d
commit
eeca33e722
39 changed files with 332 additions and 399 deletions
|
@ -92,7 +92,7 @@ from core.api.grpc.wlan_pb2 import (
|
|||
WlanLinkRequest,
|
||||
WlanLinkResponse,
|
||||
)
|
||||
from core.emulator.emudata import IpPrefixes
|
||||
from core.emulator.data import IpPrefixes
|
||||
|
||||
|
||||
class InterfaceHelper:
|
||||
|
|
|
@ -11,8 +11,7 @@ from core.api.grpc import common_pb2, core_pb2
|
|||
from core.api.grpc.services_pb2 import NodeServiceData, ServiceConfig
|
||||
from core.config import ConfigurableOptions
|
||||
from core.emane.nodes import EmaneNet
|
||||
from core.emulator.data import LinkData
|
||||
from core.emulator.emudata import InterfaceData, LinkOptions, NodeOptions
|
||||
from core.emulator.data import InterfaceData, LinkData, LinkOptions, NodeOptions
|
||||
from core.emulator.enumerations import LinkTypes, NodeTypes
|
||||
from core.emulator.session import Session
|
||||
from core.nodes.base import CoreNode, NodeBase
|
||||
|
@ -308,6 +307,18 @@ def parse_emane_model_id(_id: int) -> Tuple[int, int]:
|
|||
return node_id, iface_id
|
||||
|
||||
|
||||
def convert_iface(iface_data: InterfaceData) -> core_pb2.Interface:
|
||||
return core_pb2.Interface(
|
||||
id=iface_data.id,
|
||||
name=iface_data.name,
|
||||
mac=iface_data.mac,
|
||||
ip4=iface_data.ip4,
|
||||
ip4mask=iface_data.ip4_mask,
|
||||
ip6=iface_data.ip6,
|
||||
ip6mask=iface_data.ip6_mask,
|
||||
)
|
||||
|
||||
|
||||
def convert_link(link_data: LinkData) -> core_pb2.Link:
|
||||
"""
|
||||
Convert link_data into core protobuf link.
|
||||
|
@ -316,27 +327,11 @@ def convert_link(link_data: LinkData) -> core_pb2.Link:
|
|||
:return: core protobuf Link
|
||||
"""
|
||||
iface1 = None
|
||||
if link_data.iface1_id is not None:
|
||||
iface1 = core_pb2.Interface(
|
||||
id=link_data.iface1_id,
|
||||
name=link_data.iface1_name,
|
||||
mac=convert_value(link_data.iface1_mac),
|
||||
ip4=convert_value(link_data.iface1_ip4),
|
||||
ip4mask=link_data.iface1_ip4_mask,
|
||||
ip6=convert_value(link_data.iface1_ip6),
|
||||
ip6mask=link_data.iface1_ip6_mask,
|
||||
)
|
||||
if link_data.iface1 is not None:
|
||||
iface1 = convert_iface(link_data.iface1)
|
||||
iface2 = None
|
||||
if link_data.iface2_id is not None:
|
||||
iface2 = core_pb2.Interface(
|
||||
id=link_data.iface2_id,
|
||||
name=link_data.iface2_name,
|
||||
mac=convert_value(link_data.iface2_mac),
|
||||
ip4=convert_value(link_data.iface2_ip4),
|
||||
ip4mask=link_data.iface2_ip4_mask,
|
||||
ip6=convert_value(link_data.iface2_ip6),
|
||||
ip6mask=link_data.iface2_ip6_mask,
|
||||
)
|
||||
if link_data.iface2 is not None:
|
||||
iface2 = convert_iface(link_data.iface2)
|
||||
options = core_pb2.LinkOptions(
|
||||
opaque=link_data.opaque,
|
||||
jitter=link_data.jitter,
|
||||
|
|
|
@ -108,8 +108,7 @@ from core.api.grpc.wlan_pb2 import (
|
|||
WlanLinkResponse,
|
||||
)
|
||||
from core.emulator.coreemu import CoreEmu
|
||||
from core.emulator.data import LinkData
|
||||
from core.emulator.emudata import LinkOptions, NodeOptions
|
||||
from core.emulator.data import LinkData, LinkOptions, NodeOptions
|
||||
from core.emulator.enumerations import EventTypes, LinkTypes, MessageFlags
|
||||
from core.emulator.session import NT, Session
|
||||
from core.errors import CoreCommandError, CoreError
|
||||
|
|
|
@ -29,8 +29,15 @@ from core.api.tlv.enumerations import (
|
|||
NodeTlvs,
|
||||
SessionTlvs,
|
||||
)
|
||||
from core.emulator.data import ConfigData, EventData, ExceptionData, FileData
|
||||
from core.emulator.emudata import InterfaceData, LinkOptions, NodeOptions
|
||||
from core.emulator.data import (
|
||||
ConfigData,
|
||||
EventData,
|
||||
ExceptionData,
|
||||
FileData,
|
||||
InterfaceData,
|
||||
LinkOptions,
|
||||
NodeOptions,
|
||||
)
|
||||
from core.emulator.enumerations import (
|
||||
ConfigDataTypes,
|
||||
EventTypes,
|
||||
|
@ -342,6 +349,12 @@ class CoreHandler(socketserver.BaseRequestHandler):
|
|||
dup = ""
|
||||
if link_data.dup is not None:
|
||||
dup = str(link_data.dup)
|
||||
iface1 = link_data.iface1
|
||||
if iface1 is None:
|
||||
iface1 = InterfaceData()
|
||||
iface2 = link_data.iface2
|
||||
if iface2 is None:
|
||||
iface2 = InterfaceData()
|
||||
|
||||
tlv_data = structutils.pack_values(
|
||||
coreapi.CoreLinkTlv,
|
||||
|
@ -355,7 +368,6 @@ class CoreHandler(socketserver.BaseRequestHandler):
|
|||
(LinkTlvs.JITTER, link_data.jitter),
|
||||
(LinkTlvs.MER, link_data.mer),
|
||||
(LinkTlvs.BURST, link_data.burst),
|
||||
(LinkTlvs.SESSION, link_data.session),
|
||||
(LinkTlvs.MBURST, link_data.mburst),
|
||||
(LinkTlvs.TYPE, link_data.link_type.value),
|
||||
(LinkTlvs.GUI_ATTRIBUTES, link_data.gui_attributes),
|
||||
|
@ -363,18 +375,18 @@ class CoreHandler(socketserver.BaseRequestHandler):
|
|||
(LinkTlvs.EMULATION_ID, link_data.emulation_id),
|
||||
(LinkTlvs.NETWORK_ID, link_data.network_id),
|
||||
(LinkTlvs.KEY, link_data.key),
|
||||
(LinkTlvs.IFACE1_NUMBER, link_data.iface1_id),
|
||||
(LinkTlvs.IFACE1_IP4, link_data.iface1_ip4),
|
||||
(LinkTlvs.IFACE1_IP4_MASK, link_data.iface1_ip4_mask),
|
||||
(LinkTlvs.IFACE1_MAC, link_data.iface1_mac),
|
||||
(LinkTlvs.IFACE1_IP6, link_data.iface1_ip6),
|
||||
(LinkTlvs.IFACE1_IP6_MASK, link_data.iface1_ip6_mask),
|
||||
(LinkTlvs.IFACE2_NUMBER, link_data.iface2_id),
|
||||
(LinkTlvs.IFACE2_IP4, link_data.iface2_ip4),
|
||||
(LinkTlvs.IFACE2_IP4_MASK, link_data.iface2_ip4_mask),
|
||||
(LinkTlvs.IFACE2_MAC, link_data.iface2_mac),
|
||||
(LinkTlvs.IFACE2_IP6, link_data.iface2_ip6),
|
||||
(LinkTlvs.IFACE2_IP6_MASK, link_data.iface2_ip6_mask),
|
||||
(LinkTlvs.IFACE1_NUMBER, iface1.id),
|
||||
(LinkTlvs.IFACE1_IP4, iface1.ip4),
|
||||
(LinkTlvs.IFACE1_IP4_MASK, iface1.ip4_mask),
|
||||
(LinkTlvs.IFACE1_MAC, iface1.mac),
|
||||
(LinkTlvs.IFACE1_IP6, iface1.ip6),
|
||||
(LinkTlvs.IFACE1_IP6_MASK, iface1.ip6_mask),
|
||||
(LinkTlvs.IFACE2_NUMBER, iface2.id),
|
||||
(LinkTlvs.IFACE2_IP4, iface2.ip4),
|
||||
(LinkTlvs.IFACE2_IP4_MASK, iface2.ip4_mask),
|
||||
(LinkTlvs.IFACE2_MAC, iface2.mac),
|
||||
(LinkTlvs.IFACE2_IP6, iface2.ip6),
|
||||
(LinkTlvs.IFACE2_IP6_MASK, iface2.ip6_mask),
|
||||
(LinkTlvs.OPAQUE, link_data.opaque),
|
||||
],
|
||||
)
|
||||
|
@ -774,7 +786,6 @@ class CoreHandler(socketserver.BaseRequestHandler):
|
|||
options = LinkOptions(type=link_type)
|
||||
options.delay = message.get_tlv(LinkTlvs.DELAY.value)
|
||||
options.bandwidth = message.get_tlv(LinkTlvs.BANDWIDTH.value)
|
||||
options.session = message.get_tlv(LinkTlvs.SESSION.value)
|
||||
options.loss = message.get_tlv(LinkTlvs.LOSS.value)
|
||||
options.dup = message.get_tlv(LinkTlvs.DUP.value)
|
||||
options.jitter = message.get_tlv(LinkTlvs.JITTER.value)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue