pymnl.genl Module

pymnl.genl.GENL_NAMSIZ

The length of the family name.

Controller commands:

  • CTRL_CMD_UNSPEC
  • CTRL_CMD_NEWFAMILY
  • CTRL_CMD_DELFAMILY
  • CTRL_CMD_GETFAMILY
  • CTRL_CMD_NEWOPS
  • CTRL_CMD_DELOPS
  • CTRL_CMD_GETOPS
  • CTRL_CMD_NEWMCAST_GRP
  • CTRL_CMD_DELMCAST_GRP
  • CTRL_CMD_GETMCAST_GRP

Controller attribute types:

  • CTRL_ATTR_UNSPEC
  • CTRL_ATTR_FAMILY_ID
  • CTRL_ATTR_FAMILY_NAME
  • CTRL_ATTR_VERSION
  • CTRL_ATTR_HDRSIZE
  • CTRL_ATTR_MAXATTR
  • CTRL_ATTR_OPS
  • CTRL_ATTR_MCAST_GROUPS

Controller attribute operations:

  • CTRL_ATTR_OP_UNSPEC
  • CTRL_ATTR_OP_ID
  • CTRL_ATTR_OP_FLAGS

Controller attribute multicast group flags:

  • CTRL_ATTR_MCAST_GRP_UNSPEC
  • CTRL_ATTR_MCAST_GRP_NAME
  • CTRL_ATTR_MCAST_GRP_ID
class pymnl.genl.GenlFamilyAttrParser(data_obj=None, offset=0)

Parser for generic netlink family attributes.

These are the attributes returned by CTRL_CMD_GETFAMILY.

__init__(data_obj=None, offset=0)

Parse a string for generic netlink family attributes.

data_obj - An optional object with attributes. The data
object can be passed here and will be immediately parsed. Or the object can be sent to the parse() method after initialization. See parse() for more details.
ctrl_attr_family_id(attr)

Save family id.

attr - Attr object

ctrl_attr_family_name(attr)

Save family name.

attr - Attr object

ctrl_attr_hdrsize(attr)

Save header size.

attr - Attr object

ctrl_attr_maxattr(attr)

Save maximum attribute number.

attr - Attr object

ctrl_attr_mcast_groups(attr)

Parse nested attributes with info about genl family multicast groups and save to dictionary.

attr - Attr object

ctrl_attr_ops(attr)

Parse nested attributes with info about genl family operations and save to dictionary.

attr - Attr object

ctrl_attr_version(attr)

Save version.

attr - Attr object

parse(data_obj, offset=0)

Process the attributes.

data_obj - An object containing attributes and providing the
get_binary() method. See Message and Payload for examples of get_binary().

offset - offset into data at which to start

class pymnl.genl.GenlMessageHeader(command=None, version=None)

An extra header for the message.

__init__(command=None, version=None)

command - genl command to issue

version - genl protocol version

Implements genlmsghdr in a Pythonesque form.

__len__()

Calculate and return genlmsghdr length.

__weakref__

list of weak references to the object (if defined)

get_binary()

Return a packed struct suitable for sending through a netlink socket.

Raises an exception if command and version have not been set before calling get_binary().

set_command(command)

Set the header command.

command - genl command to issue

set_version(version)

Set the header command.

version - genl protocol version