|
36 | 36 | /* netlink interface */
|
37 | 37 | #define MPTCP_PM_NAME "mptcp_pm"
|
38 | 38 | #define MPTCP_PM_CMD_GRP_NAME "mptcp_pm_cmds"
|
| 39 | +#define MPTCP_PM_EV_GRP_NAME "mptcp_pm_events" |
39 | 40 | #define MPTCP_PM_VER 0x1
|
40 | 41 |
|
41 | 42 | /*
|
@@ -104,4 +105,77 @@ struct mptcp_info {
|
104 | 105 | __u64 mptcpi_rcv_nxt;
|
105 | 106 | };
|
106 | 107 |
|
| 108 | +/* |
| 109 | + * MPTCP_EVENT_CREATED: token, family, saddr4 | saddr6, daddr4 | daddr6, |
| 110 | + * sport, dport |
| 111 | + * A new MPTCP connection has been created. It is the good time to allocate |
| 112 | + * memory and send ADD_ADDR if needed. Depending on the traffic-patterns |
| 113 | + * it can take a long time until the MPTCP_EVENT_ESTABLISHED is sent. |
| 114 | + * |
| 115 | + * MPTCP_EVENT_ESTABLISHED: token, family, saddr4 | saddr6, daddr4 | daddr6, |
| 116 | + * sport, dport |
| 117 | + * A MPTCP connection is established (can start new subflows). |
| 118 | + * |
| 119 | + * MPTCP_EVENT_CLOSED: token |
| 120 | + * A MPTCP connection has stopped. |
| 121 | + * |
| 122 | + * MPTCP_EVENT_ANNOUNCED: token, rem_id, family, daddr4 | daddr6 [, dport] |
| 123 | + * A new address has been announced by the peer. |
| 124 | + * |
| 125 | + * MPTCP_EVENT_REMOVED: token, rem_id |
| 126 | + * An address has been lost by the peer. |
| 127 | + * |
| 128 | + * MPTCP_EVENT_SUB_ESTABLISHED: token, family, saddr4 | saddr6, |
| 129 | + * daddr4 | daddr6, sport, dport, backup, |
| 130 | + * if_idx [, error] |
| 131 | + * A new subflow has been established. 'error' should not be set. |
| 132 | + * |
| 133 | + * MPTCP_EVENT_SUB_CLOSED: token, family, saddr4 | saddr6, daddr4 | daddr6, |
| 134 | + * sport, dport, backup, if_idx [, error] |
| 135 | + * A subflow has been closed. An error (copy of sk_err) could be set if an |
| 136 | + * error has been detected for this subflow. |
| 137 | + * |
| 138 | + * MPTCP_EVENT_SUB_PRIORITY: token, family, saddr4 | saddr6, daddr4 | daddr6, |
| 139 | + * sport, dport, backup, if_idx [, error] |
| 140 | + * The priority of a subflow has changed. 'error' should not be set. |
| 141 | + */ |
| 142 | +enum mptcp_event_type { |
| 143 | + MPTCP_EVENT_UNSPEC = 0, |
| 144 | + MPTCP_EVENT_CREATED = 1, |
| 145 | + MPTCP_EVENT_ESTABLISHED = 2, |
| 146 | + MPTCP_EVENT_CLOSED = 3, |
| 147 | + |
| 148 | + MPTCP_EVENT_ANNOUNCED = 6, |
| 149 | + MPTCP_EVENT_REMOVED = 7, |
| 150 | + |
| 151 | + MPTCP_EVENT_SUB_ESTABLISHED = 10, |
| 152 | + MPTCP_EVENT_SUB_CLOSED = 11, |
| 153 | + |
| 154 | + MPTCP_EVENT_SUB_PRIORITY = 13, |
| 155 | +}; |
| 156 | + |
| 157 | +enum mptcp_event_attr { |
| 158 | + MPTCP_ATTR_UNSPEC = 0, |
| 159 | + |
| 160 | + MPTCP_ATTR_TOKEN, /* u32 */ |
| 161 | + MPTCP_ATTR_FAMILY, /* u16 */ |
| 162 | + MPTCP_ATTR_LOC_ID, /* u8 */ |
| 163 | + MPTCP_ATTR_REM_ID, /* u8 */ |
| 164 | + MPTCP_ATTR_SADDR4, /* be32 */ |
| 165 | + MPTCP_ATTR_SADDR6, /* struct in6_addr */ |
| 166 | + MPTCP_ATTR_DADDR4, /* be32 */ |
| 167 | + MPTCP_ATTR_DADDR6, /* struct in6_addr */ |
| 168 | + MPTCP_ATTR_SPORT, /* be16 */ |
| 169 | + MPTCP_ATTR_DPORT, /* be16 */ |
| 170 | + MPTCP_ATTR_BACKUP, /* u8 */ |
| 171 | + MPTCP_ATTR_ERROR, /* u8 */ |
| 172 | + MPTCP_ATTR_FLAGS, /* u16 */ |
| 173 | + MPTCP_ATTR_TIMEOUT, /* u32 */ |
| 174 | + MPTCP_ATTR_IF_IDX, /* s32 */ |
| 175 | + |
| 176 | + __MPTCP_ATTR_AFTER_LAST |
| 177 | +}; |
| 178 | + |
| 179 | +#define MPTCP_ATTR_MAX (__MPTCP_ATTR_AFTER_LAST - 1) |
| 180 | + |
107 | 181 | #endif /* _UAPI_MPTCP_H */
|
0 commit comments