19d1ed17fSDavide Caratti /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */ 29d1ed17fSDavide Caratti /* Do not edit directly, auto-generated from: */ 3*b059aef7SJakub Kicinski /* Documentation/netlink/specs/mptcp_pm.yaml */ 49d1ed17fSDavide Caratti /* YNL-GEN uapi header */ 59d1ed17fSDavide Caratti 69d1ed17fSDavide Caratti #ifndef _UAPI_LINUX_MPTCP_PM_H 79d1ed17fSDavide Caratti #define _UAPI_LINUX_MPTCP_PM_H 89d1ed17fSDavide Caratti 99d1ed17fSDavide Caratti #define MPTCP_PM_NAME "mptcp_pm" 109d1ed17fSDavide Caratti #define MPTCP_PM_VER 1 119d1ed17fSDavide Caratti 129d1ed17fSDavide Caratti /** 139d1ed17fSDavide Caratti * enum mptcp_event_type 149d1ed17fSDavide Caratti * @MPTCP_EVENT_UNSPEC: unused event 159d1ed17fSDavide Caratti * @MPTCP_EVENT_CREATED: token, family, saddr4 | saddr6, daddr4 | daddr6, 169d1ed17fSDavide Caratti * sport, dport A new MPTCP connection has been created. It is the good time 179d1ed17fSDavide Caratti * to allocate memory and send ADD_ADDR if needed. Depending on the 189d1ed17fSDavide Caratti * traffic-patterns it can take a long time until the MPTCP_EVENT_ESTABLISHED 199d1ed17fSDavide Caratti * is sent. 209d1ed17fSDavide Caratti * @MPTCP_EVENT_ESTABLISHED: token, family, saddr4 | saddr6, daddr4 | daddr6, 219d1ed17fSDavide Caratti * sport, dport A MPTCP connection is established (can start new subflows). 229d1ed17fSDavide Caratti * @MPTCP_EVENT_CLOSED: token A MPTCP connection has stopped. 239d1ed17fSDavide Caratti * @MPTCP_EVENT_ANNOUNCED: token, rem_id, family, daddr4 | daddr6 [, dport] A 249d1ed17fSDavide Caratti * new address has been announced by the peer. 259d1ed17fSDavide Caratti * @MPTCP_EVENT_REMOVED: token, rem_id An address has been lost by the peer. 269d1ed17fSDavide Caratti * @MPTCP_EVENT_SUB_ESTABLISHED: token, family, loc_id, rem_id, saddr4 | 279d1ed17fSDavide Caratti * saddr6, daddr4 | daddr6, sport, dport, backup, if_idx [, error] A new 289d1ed17fSDavide Caratti * subflow has been established. 'error' should not be set. 299d1ed17fSDavide Caratti * @MPTCP_EVENT_SUB_CLOSED: token, family, loc_id, rem_id, saddr4 | saddr6, 309d1ed17fSDavide Caratti * daddr4 | daddr6, sport, dport, backup, if_idx [, error] A subflow has been 319d1ed17fSDavide Caratti * closed. An error (copy of sk_err) could be set if an error has been 329d1ed17fSDavide Caratti * detected for this subflow. 339d1ed17fSDavide Caratti * @MPTCP_EVENT_SUB_PRIORITY: token, family, loc_id, rem_id, saddr4 | saddr6, 349d1ed17fSDavide Caratti * daddr4 | daddr6, sport, dport, backup, if_idx [, error] The priority of a 359d1ed17fSDavide Caratti * subflow has changed. 'error' should not be set. 369d1ed17fSDavide Caratti * @MPTCP_EVENT_LISTENER_CREATED: family, sport, saddr4 | saddr6 A new PM 379d1ed17fSDavide Caratti * listener is created. 389d1ed17fSDavide Caratti * @MPTCP_EVENT_LISTENER_CLOSED: family, sport, saddr4 | saddr6 A PM listener 399d1ed17fSDavide Caratti * is closed. 409d1ed17fSDavide Caratti */ 419d1ed17fSDavide Caratti enum mptcp_event_type { 429d1ed17fSDavide Caratti MPTCP_EVENT_UNSPEC, 439d1ed17fSDavide Caratti MPTCP_EVENT_CREATED, 449d1ed17fSDavide Caratti MPTCP_EVENT_ESTABLISHED, 459d1ed17fSDavide Caratti MPTCP_EVENT_CLOSED, 469d1ed17fSDavide Caratti MPTCP_EVENT_ANNOUNCED = 6, 479d1ed17fSDavide Caratti MPTCP_EVENT_REMOVED, 489d1ed17fSDavide Caratti MPTCP_EVENT_SUB_ESTABLISHED = 10, 499d1ed17fSDavide Caratti MPTCP_EVENT_SUB_CLOSED, 509d1ed17fSDavide Caratti MPTCP_EVENT_SUB_PRIORITY = 13, 519d1ed17fSDavide Caratti MPTCP_EVENT_LISTENER_CREATED = 15, 529d1ed17fSDavide Caratti MPTCP_EVENT_LISTENER_CLOSED, 539d1ed17fSDavide Caratti }; 549d1ed17fSDavide Caratti 559d1ed17fSDavide Caratti enum { 569d1ed17fSDavide Caratti MPTCP_PM_ADDR_ATTR_UNSPEC, 579d1ed17fSDavide Caratti MPTCP_PM_ADDR_ATTR_FAMILY, 589d1ed17fSDavide Caratti MPTCP_PM_ADDR_ATTR_ID, 599d1ed17fSDavide Caratti MPTCP_PM_ADDR_ATTR_ADDR4, 609d1ed17fSDavide Caratti MPTCP_PM_ADDR_ATTR_ADDR6, 619d1ed17fSDavide Caratti MPTCP_PM_ADDR_ATTR_PORT, 629d1ed17fSDavide Caratti MPTCP_PM_ADDR_ATTR_FLAGS, 639d1ed17fSDavide Caratti MPTCP_PM_ADDR_ATTR_IF_IDX, 649d1ed17fSDavide Caratti 659d1ed17fSDavide Caratti __MPTCP_PM_ADDR_ATTR_MAX 669d1ed17fSDavide Caratti }; 679d1ed17fSDavide Caratti #define MPTCP_PM_ADDR_ATTR_MAX (__MPTCP_PM_ADDR_ATTR_MAX - 1) 689d1ed17fSDavide Caratti 699d1ed17fSDavide Caratti enum { 709d1ed17fSDavide Caratti MPTCP_SUBFLOW_ATTR_UNSPEC, 719d1ed17fSDavide Caratti MPTCP_SUBFLOW_ATTR_TOKEN_REM, 729d1ed17fSDavide Caratti MPTCP_SUBFLOW_ATTR_TOKEN_LOC, 739d1ed17fSDavide Caratti MPTCP_SUBFLOW_ATTR_RELWRITE_SEQ, 749d1ed17fSDavide Caratti MPTCP_SUBFLOW_ATTR_MAP_SEQ, 759d1ed17fSDavide Caratti MPTCP_SUBFLOW_ATTR_MAP_SFSEQ, 769d1ed17fSDavide Caratti MPTCP_SUBFLOW_ATTR_SSN_OFFSET, 779d1ed17fSDavide Caratti MPTCP_SUBFLOW_ATTR_MAP_DATALEN, 789d1ed17fSDavide Caratti MPTCP_SUBFLOW_ATTR_FLAGS, 799d1ed17fSDavide Caratti MPTCP_SUBFLOW_ATTR_ID_REM, 809d1ed17fSDavide Caratti MPTCP_SUBFLOW_ATTR_ID_LOC, 819d1ed17fSDavide Caratti MPTCP_SUBFLOW_ATTR_PAD, 829d1ed17fSDavide Caratti 839d1ed17fSDavide Caratti __MPTCP_SUBFLOW_ATTR_MAX 849d1ed17fSDavide Caratti }; 859d1ed17fSDavide Caratti #define MPTCP_SUBFLOW_ATTR_MAX (__MPTCP_SUBFLOW_ATTR_MAX - 1) 869d1ed17fSDavide Caratti 879d1ed17fSDavide Caratti enum { 889d1ed17fSDavide Caratti MPTCP_PM_ENDPOINT_ADDR = 1, 899d1ed17fSDavide Caratti 909d1ed17fSDavide Caratti __MPTCP_PM_ENDPOINT_MAX 919d1ed17fSDavide Caratti }; 929d1ed17fSDavide Caratti #define MPTCP_PM_ENDPOINT_MAX (__MPTCP_PM_ENDPOINT_MAX - 1) 939d1ed17fSDavide Caratti 949d1ed17fSDavide Caratti enum { 959d1ed17fSDavide Caratti MPTCP_PM_ATTR_UNSPEC, 969d1ed17fSDavide Caratti MPTCP_PM_ATTR_ADDR, 979d1ed17fSDavide Caratti MPTCP_PM_ATTR_RCV_ADD_ADDRS, 989d1ed17fSDavide Caratti MPTCP_PM_ATTR_SUBFLOWS, 999d1ed17fSDavide Caratti MPTCP_PM_ATTR_TOKEN, 1009d1ed17fSDavide Caratti MPTCP_PM_ATTR_LOC_ID, 1019d1ed17fSDavide Caratti MPTCP_PM_ATTR_ADDR_REMOTE, 1029d1ed17fSDavide Caratti 1036479c975SDavide Caratti __MPTCP_ATTR_AFTER_LAST 1049d1ed17fSDavide Caratti }; 1056479c975SDavide Caratti #define MPTCP_PM_ATTR_MAX (__MPTCP_ATTR_AFTER_LAST - 1) 1069d1ed17fSDavide Caratti 1079d1ed17fSDavide Caratti enum mptcp_event_attr { 1089d1ed17fSDavide Caratti MPTCP_ATTR_UNSPEC, 1099d1ed17fSDavide Caratti MPTCP_ATTR_TOKEN, 1109d1ed17fSDavide Caratti MPTCP_ATTR_FAMILY, 1119d1ed17fSDavide Caratti MPTCP_ATTR_LOC_ID, 1129d1ed17fSDavide Caratti MPTCP_ATTR_REM_ID, 1139d1ed17fSDavide Caratti MPTCP_ATTR_SADDR4, 1149d1ed17fSDavide Caratti MPTCP_ATTR_SADDR6, 1159d1ed17fSDavide Caratti MPTCP_ATTR_DADDR4, 1169d1ed17fSDavide Caratti MPTCP_ATTR_DADDR6, 1179d1ed17fSDavide Caratti MPTCP_ATTR_SPORT, 1189d1ed17fSDavide Caratti MPTCP_ATTR_DPORT, 1199d1ed17fSDavide Caratti MPTCP_ATTR_BACKUP, 1209d1ed17fSDavide Caratti MPTCP_ATTR_ERROR, 1219d1ed17fSDavide Caratti MPTCP_ATTR_FLAGS, 1229d1ed17fSDavide Caratti MPTCP_ATTR_TIMEOUT, 1239d1ed17fSDavide Caratti MPTCP_ATTR_IF_IDX, 1249d1ed17fSDavide Caratti MPTCP_ATTR_RESET_REASON, 1259d1ed17fSDavide Caratti MPTCP_ATTR_RESET_FLAGS, 1269d1ed17fSDavide Caratti MPTCP_ATTR_SERVER_SIDE, 1279d1ed17fSDavide Caratti 1289d1ed17fSDavide Caratti __MPTCP_ATTR_MAX 1299d1ed17fSDavide Caratti }; 1309d1ed17fSDavide Caratti #define MPTCP_ATTR_MAX (__MPTCP_ATTR_MAX - 1) 1319d1ed17fSDavide Caratti 1329d1ed17fSDavide Caratti enum { 1339d1ed17fSDavide Caratti MPTCP_PM_CMD_UNSPEC, 1349d1ed17fSDavide Caratti MPTCP_PM_CMD_ADD_ADDR, 1359d1ed17fSDavide Caratti MPTCP_PM_CMD_DEL_ADDR, 1369d1ed17fSDavide Caratti MPTCP_PM_CMD_GET_ADDR, 1379d1ed17fSDavide Caratti MPTCP_PM_CMD_FLUSH_ADDRS, 1389d1ed17fSDavide Caratti MPTCP_PM_CMD_SET_LIMITS, 1399d1ed17fSDavide Caratti MPTCP_PM_CMD_GET_LIMITS, 1409d1ed17fSDavide Caratti MPTCP_PM_CMD_SET_FLAGS, 1419d1ed17fSDavide Caratti MPTCP_PM_CMD_ANNOUNCE, 1429d1ed17fSDavide Caratti MPTCP_PM_CMD_REMOVE, 1439d1ed17fSDavide Caratti MPTCP_PM_CMD_SUBFLOW_CREATE, 1449d1ed17fSDavide Caratti MPTCP_PM_CMD_SUBFLOW_DESTROY, 1459d1ed17fSDavide Caratti 1466479c975SDavide Caratti __MPTCP_PM_CMD_AFTER_LAST 1479d1ed17fSDavide Caratti }; 1486479c975SDavide Caratti #define MPTCP_PM_CMD_MAX (__MPTCP_PM_CMD_AFTER_LAST - 1) 1499d1ed17fSDavide Caratti 1509d1ed17fSDavide Caratti #endif /* _UAPI_LINUX_MPTCP_PM_H */ 151