moved linkconfig to CoreNetworkBase and made linkconfig defined the same across the board

This commit is contained in:
Blake Harnden 2020-05-22 23:44:10 -07:00
parent fe09b37819
commit dd13bc8379
7 changed files with 44 additions and 37 deletions

View file

@ -1165,6 +1165,32 @@ class CoreNetworkBase(NodeBase):
return all_links
def linkconfig(
self,
netif: CoreInterface,
bw: float = None,
delay: float = None,
loss: float = None,
duplicate: float = None,
jitter: float = None,
netif2: float = None,
devname: str = None,
) -> None:
"""
Configure link parameters by applying tc queuing disciplines on the interface.
:param netif: interface one
:param bw: bandwidth to set to
:param delay: packet delay to set to
:param loss: packet loss to set to
:param duplicate: duplicate percentage to set to
:param jitter: jitter to set to
:param netif2: interface two
:param devname: device name
:return: nothing
"""
raise NotImplementedError
class Position:
"""

View file

@ -151,6 +151,7 @@ class PhysicalNode(CoreNodeBase):
duplicate: float = None,
jitter: float = None,
netif2: CoreInterface = None,
devname: str = None,
) -> None:
"""
Apply tc queing disciplines using linkconfig.
@ -158,13 +159,7 @@ class PhysicalNode(CoreNodeBase):
linux_bridge = CoreNetwork(session=self.session, start=False)
linux_bridge.up = True
linux_bridge.linkconfig(
netif,
bw=bw,
delay=delay,
loss=loss,
duplicate=duplicate,
jitter=jitter,
netif2=netif2,
netif, bw, delay, loss, duplicate, jitter, netif2, devname
)
del linux_bridge