Skip to content

[FEATURE] Introduce ion_ctrl Netlink Interface for Runtime ION Configuration #16

@sylvain-pierrot

Description

@sylvain-pierrot

Description

I propose a new Generic Netlink family ion_ctrl to expose a public interface for applications to request ION configuration changes (e.g. adding EIDs, updating routes). These requests are not applied directly in kernel space.

Instead, the kernel acts as a forwarding layer, relaying ion_ctrl commands to the privileged daemon via the existing GENL_BP mechanism. The daemon remains the sole authority in charge of applying changes to the ION stack, ensuring state consistency, policy enforcement, and isolation from application misuse.

This keeps ION logic cleanly encapsulated, while exposing a safe and future-proof configuration API for higher-level components.


Expected Behavior

  • A new Generic Netlink family ION_CTRL is introduced and registered by the kernel
  • Applications can send configuration requests to this family (e.g. ION_CTRL_CMD_ADD_EID)
  • The kernel does not handle the request logic internally
  • Instead, the kernel:
    • Parses and validates the request
    • Wraps it into a GENL_BP message (e.g. BP_GENL_CMD_FORWARD_ION_CFG)
    • Unicasts the request to the daemon via genlmsg_unicast(...)
  • The daemon receives the forwarded config, validates it, and calls the ION API to apply it
  • The daemon may respond to the application via a custom Netlink response channel or log outcome internally

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions