ENUM MPTCP_EVENT_TYPE(9)

๐Ÿ“ฆ version 7.3.1, in nixpkgs unstable

๐Ÿ’… enum mptcp_event_type(9) โ€” Kernel API Manual โœจ

okay bestie, so this one's from the Kernel API Manual, and it's literally the master list of Netlink MPTCP event types. Netlink's out here sending vibes, and this enum is the group chat where every event announces itself. let's go ๐Ÿซถ


โœจ NAME โœจ

enum mptcp_event_type โ€” the Netlink MPTCP event types. that's it, that's the whole name. iconic.


๐ŸŒธ SYNOPSIS ๐ŸŒธ

here's the whole cast, no cuts, no skips:

enum mptcp_event_type {
    MPTCP_EVENT_UNSPEC ,
    MPTCP_EVENT_CREATED ,
    MPTCP_EVENT_ESTABLISHED ,
    MPTCP_EVENT_CLOSED ,
    MPTCP_EVENT_ANNOUNCED ,
    MPTCP_EVENT_REMOVED ,
    MPTCP_EVENT_SUB_ESTABLISHED ,
    MPTCP_EVENT_SUB_CLOSED ,
    MPTCP_EVENT_SUB_PRIORITY ,
    MPTCP_EVENT_LISTENER_CREATED ,
    MPTCP_EVENT_LISTENER_CLOSED

};

๐Ÿงฎ Constants ๐Ÿงฎ

okay so now the lore for each one. no cap, these are all the members and their exact attributes ๐Ÿ‘‘

  • MPTCP_EVENT_UNSPEC โ€” literally unused. a filler event. it's giving placeholder energy, lowkey just vibing in the enum doing nothing ๐Ÿ’€
  • MPTCP_EVENT_CREATED โ€” a new MPTCP connection has been created!! this is the moment, bestie โ€” it's the good time to allocate memory and send ADD_ADDR if needed. depending on the traffic-patterns it can take a long time until the MPTCP_EVENT_ESTABLISHED is sent, so don't be out here expecting it immediately, fr fr. Attributes: token, family, saddr4 | saddr6, daddr4 | daddr6, sport, dport, [server-side], [flags]. ๐ŸŽ€
  • MPTCP_EVENT_ESTABLISHED โ€” a MPTCP connection is established (which means it can start new subflows ๐Ÿฆ‹). Attributes: token, family, saddr4 | saddr6, daddr4 | daddr6, sport, dport, [server-side], [flags].
  • MPTCP_EVENT_CLOSED โ€” a MPTCP connection has stopped. and it only brings one attribute to the party: token. minimal queen ๐Ÿ˜ญ
  • MPTCP_EVENT_ANNOUNCED โ€” a new address has been announced by the peer. Attributes: token, rem_id, family, daddr4 | daddr6 [, dport].
  • MPTCP_EVENT_REMOVED โ€” an address has been lost by the peer. sad girl hours. Attributes: token, rem_id.
  • MPTCP_EVENT_SUB_ESTABLISHED โ€” a new subflow has been established (slay!), and 'error' should not be set. Attributes: token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport, dport, backup, if-idx [, error].
  • MPTCP_EVENT_SUB_CLOSED โ€” a subflow has been closed. an error (copy of sk_err) could be set if an error has been detected for this subflow ๐Ÿ‘€. Attributes: token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport, dport, backup, if-idx [, error].
  • MPTCP_EVENT_SUB_PRIORITY โ€” the priority of a subflow has changed. and like its sibling above, 'error' should not be set. Attributes: token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport, dport, backup, if-idx [, error].
  • MPTCP_EVENT_LISTENER_CREATED โ€” a new PM listener is created ๐ŸŒˆ. Attributes: family, sport, saddr4 | saddr6. (notice there's no token here, bestie โ€” that's the whole point of a listener, it's out here before any connection exists ๐Ÿ’…)
  • MPTCP_EVENT_LISTENER_CLOSED โ€” a PM listener is closed. Attributes: family, sport, saddr4 | saddr6. same trio, different mood ๐Ÿ’œ
lowkey important: MPTCP_EVENT_SUB_ESTABLISHED and MPTCP_EVENT_SUB_PRIORITY both say 'error' should not be set โ€” like, that's the spec, don't be messy about it ๐Ÿ™ˆ

๐Ÿ”ฎ SEE ALSO ๐Ÿ”ฎ

  • Kernel file ./include/uapi/linux/mptcp_pm.h โ€” go read it, iykyk ๐Ÿ“–

aaaand that's a wrap, bestie ๐ŸŽ€ this page lives in ./include/uapi/linux, dated October 2026, and it's the enum mptcp_event_type(9) entry ๐Ÿ’– mwah, go build something with subflows โœจ๐Ÿฆ‹

๐Ÿ“ฆ where this page comes from