1 /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */ 2 /* Do not edit directly, auto-generated from: */ 3 /* Documentation/netlink/specs/mptcp_pm.yaml */ 4 /* YNL-GEN uapi header */ 5 6 #ifndef _UAPI_LINUX_MPTCP_PM_H 7 #define _UAPI_LINUX_MPTCP_PM_H 8 9 #define MPTCP_PM_NAME "mptcp_pm" 10 #define MPTCP_PM_VER 1 11 12 /** 13 * enum mptcp_event_type 14 * @MPTCP_EVENT_UNSPEC: unused event 15 * @MPTCP_EVENT_CREATED: token, family, saddr4 | saddr6, daddr4 | daddr6, 16 * sport, dport A new MPTCP connection has been created. It is the good time 17 * to allocate memory and send ADD_ADDR if needed. Depending on the 18 * traffic-patterns it can take a long time until the MPTCP_EVENT_ESTABLISHED 19 * is sent. 20 * @MPTCP_EVENT_ESTABLISHED: token, family, saddr4 | saddr6, daddr4 | daddr6, 21 * sport, dport A MPTCP connection is established (can start new subflows). 22 * @MPTCP_EVENT_CLOSED: token A MPTCP connection has stopped. 23 * @MPTCP_EVENT_ANNOUNCED: token, rem_id, family, daddr4 | daddr6 [, dport] A 24 * new address has been announced by the peer. 25 * @MPTCP_EVENT_REMOVED: token, rem_id An address has been lost by the peer. 26 * @MPTCP_EVENT_SUB_ESTABLISHED: token, family, loc_id, rem_id, saddr4 | 27 * saddr6, daddr4 | daddr6, sport, dport, backup, if_idx [, error] A new 28 * subflow has been established. 'error' should not be set. 29 * @MPTCP_EVENT_SUB_CLOSED: token, family, loc_id, rem_id, saddr4 | saddr6, 30 * daddr4 | daddr6, sport, dport, backup, if_idx [, error] A subflow has been 31 * closed. An error (copy of sk_err) could be set if an error has been 32 * detected for this subflow. 33 * @MPTCP_EVENT_SUB_PRIORITY: token, family, loc_id, rem_id, saddr4 | saddr6, 34 * daddr4 | daddr6, sport, dport, backup, if_idx [, error] The priority of a 35 * subflow has changed. 'error' should not be set. 36 * @MPTCP_EVENT_LISTENER_CREATED: family, sport, saddr4 | saddr6 A new PM 37 * listener is created. 38 * @MPTCP_EVENT_LISTENER_CLOSED: family, sport, saddr4 | saddr6 A PM listener 39 * is closed. 40 */ 41 enum mptcp_event_type { 42 MPTCP_EVENT_UNSPEC, 43 MPTCP_EVENT_CREATED, 44 MPTCP_EVENT_ESTABLISHED, 45 MPTCP_EVENT_CLOSED, 46 MPTCP_EVENT_ANNOUNCED = 6, 47 MPTCP_EVENT_REMOVED, 48 MPTCP_EVENT_SUB_ESTABLISHED = 10, 49 MPTCP_EVENT_SUB_CLOSED, 50 MPTCP_EVENT_SUB_PRIORITY = 13, 51 MPTCP_EVENT_LISTENER_CREATED = 15, 52 MPTCP_EVENT_LISTENER_CLOSED, 53 }; 54 55 enum { 56 MPTCP_PM_ADDR_ATTR_UNSPEC, 57 MPTCP_PM_ADDR_ATTR_FAMILY, 58 MPTCP_PM_ADDR_ATTR_ID, 59 MPTCP_PM_ADDR_ATTR_ADDR4, 60 MPTCP_PM_ADDR_ATTR_ADDR6, 61 MPTCP_PM_ADDR_ATTR_PORT, 62 MPTCP_PM_ADDR_ATTR_FLAGS, 63 MPTCP_PM_ADDR_ATTR_IF_IDX, 64 65 __MPTCP_PM_ADDR_ATTR_MAX 66 }; 67 #define MPTCP_PM_ADDR_ATTR_MAX (__MPTCP_PM_ADDR_ATTR_MAX - 1) 68 69 enum { 70 MPTCP_SUBFLOW_ATTR_UNSPEC, 71 MPTCP_SUBFLOW_ATTR_TOKEN_REM, 72 MPTCP_SUBFLOW_ATTR_TOKEN_LOC, 73 MPTCP_SUBFLOW_ATTR_RELWRITE_SEQ, 74 MPTCP_SUBFLOW_ATTR_MAP_SEQ, 75 MPTCP_SUBFLOW_ATTR_MAP_SFSEQ, 76 MPTCP_SUBFLOW_ATTR_SSN_OFFSET, 77 MPTCP_SUBFLOW_ATTR_MAP_DATALEN, 78 MPTCP_SUBFLOW_ATTR_FLAGS, 79 MPTCP_SUBFLOW_ATTR_ID_REM, 80 MPTCP_SUBFLOW_ATTR_ID_LOC, 81 MPTCP_SUBFLOW_ATTR_PAD, 82 83 __MPTCP_SUBFLOW_ATTR_MAX 84 }; 85 #define MPTCP_SUBFLOW_ATTR_MAX (__MPTCP_SUBFLOW_ATTR_MAX - 1) 86 87 enum { 88 MPTCP_PM_ENDPOINT_ADDR = 1, 89 90 __MPTCP_PM_ENDPOINT_MAX 91 }; 92 #define MPTCP_PM_ENDPOINT_MAX (__MPTCP_PM_ENDPOINT_MAX - 1) 93 94 enum { 95 MPTCP_PM_ATTR_UNSPEC, 96 MPTCP_PM_ATTR_ADDR, 97 MPTCP_PM_ATTR_RCV_ADD_ADDRS, 98 MPTCP_PM_ATTR_SUBFLOWS, 99 MPTCP_PM_ATTR_TOKEN, 100 MPTCP_PM_ATTR_LOC_ID, 101 MPTCP_PM_ATTR_ADDR_REMOTE, 102 103 __MPTCP_ATTR_AFTER_LAST 104 }; 105 #define MPTCP_PM_ATTR_MAX (__MPTCP_ATTR_AFTER_LAST - 1) 106 107 enum mptcp_event_attr { 108 MPTCP_ATTR_UNSPEC, 109 MPTCP_ATTR_TOKEN, 110 MPTCP_ATTR_FAMILY, 111 MPTCP_ATTR_LOC_ID, 112 MPTCP_ATTR_REM_ID, 113 MPTCP_ATTR_SADDR4, 114 MPTCP_ATTR_SADDR6, 115 MPTCP_ATTR_DADDR4, 116 MPTCP_ATTR_DADDR6, 117 MPTCP_ATTR_SPORT, 118 MPTCP_ATTR_DPORT, 119 MPTCP_ATTR_BACKUP, 120 MPTCP_ATTR_ERROR, 121 MPTCP_ATTR_FLAGS, 122 MPTCP_ATTR_TIMEOUT, 123 MPTCP_ATTR_IF_IDX, 124 MPTCP_ATTR_RESET_REASON, 125 MPTCP_ATTR_RESET_FLAGS, 126 MPTCP_ATTR_SERVER_SIDE, 127 128 __MPTCP_ATTR_MAX 129 }; 130 #define MPTCP_ATTR_MAX (__MPTCP_ATTR_MAX - 1) 131 132 enum { 133 MPTCP_PM_CMD_UNSPEC, 134 MPTCP_PM_CMD_ADD_ADDR, 135 MPTCP_PM_CMD_DEL_ADDR, 136 MPTCP_PM_CMD_GET_ADDR, 137 MPTCP_PM_CMD_FLUSH_ADDRS, 138 MPTCP_PM_CMD_SET_LIMITS, 139 MPTCP_PM_CMD_GET_LIMITS, 140 MPTCP_PM_CMD_SET_FLAGS, 141 MPTCP_PM_CMD_ANNOUNCE, 142 MPTCP_PM_CMD_REMOVE, 143 MPTCP_PM_CMD_SUBFLOW_CREATE, 144 MPTCP_PM_CMD_SUBFLOW_DESTROY, 145 146 __MPTCP_PM_CMD_AFTER_LAST 147 }; 148 #define MPTCP_PM_CMD_MAX (__MPTCP_PM_CMD_AFTER_LAST - 1) 149 150 #endif /* _UAPI_LINUX_MPTCP_PM_H */ 151