pyplugins.apis.net module

class pyplugins.apis.net.Netdev(name, *args, **kwargs)[source]

Bases: object

Base class for all network devices. Custom netdev plugins should inherit from this.

Parameters:

name (str)

property logger
name: str
netdev_ptr: int
setup(netdev_struct)[source]

Called when the netdev is initialized in the kernel.

Return type:

Iterator | None

class pyplugins.apis.net.Netdevs[source]

Bases: Plugin

get_netdev_state(name)[source]

Get the state (up/down) of a network device. Returns True if up, False if down, or None if not found.

Parameters:

name (str)

Return type:

Generator[PortalCmd, int | None, bool | None]

lookup_netdev(name)[source]

Look up a network device by name using the portal. Returns the pointer to net_device struct or None if not found.

Parameters:

name (str)

Return type:

Generator[PortalCmd, int | None, int | None]

register(name, backing_class=None, exist_ok=False, *args, **kwargs)[source]
Parameters:
  • name (str)

  • backing_class (Type[Netdev] | None)

  • exist_ok (bool)

register_netdev(name, backing_class=None, exist_ok=False, *args, **kwargs)[source]

Register a network device with the given name.

Parameters:
  • name (str)

  • backing_class (Type[Netdev] | None)

  • exist_ok (bool)

set_netdev_state(name, up)[source]

Set the state (up/down) of a network device. Returns True if successful, False otherwise.

Parameters:
  • name (str)

  • up (bool)

Return type:

Generator[PortalCmd, int | None, bool | None]