diff options
author | Marco Varlese <marco.varlese@suse.com> | 2018-03-01 14:01:46 +0100 |
---|---|---|
committer | Florin Coras <florin.coras@gmail.com> | 2018-03-01 17:43:00 +0000 |
commit | 465c087c58e356426588e5387fff133715a8762d (patch) | |
tree | e078041e663a8ff60847c2ab81cb5700d2f58578 /src/vnet/sctp/sctp_api.c | |
parent | 6ee4051139409eb53cd41b2b73dac838e8c4e8a0 (diff) |
SCTP: API to delete a sub-connection
This patch adds an API to delete a sub-connection following a SRC/DST IP
mapping as required by the RFC4960.
Change-Id: I7673dd07352557442ffeed6c6c00da274b24953d
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
Diffstat (limited to 'src/vnet/sctp/sctp_api.c')
-rw-r--r-- | src/vnet/sctp/sctp_api.c | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/src/vnet/sctp/sctp_api.c b/src/vnet/sctp/sctp_api.c index 2c1b072228f..6aac77d2826 100644 --- a/src/vnet/sctp/sctp_api.c +++ b/src/vnet/sctp/sctp_api.c @@ -40,8 +40,9 @@ #include <vlibapi/api_helper_macros.h> -#define foreach_sctp_api_msg \ -_(SCTP_ADD_SRC_DST_CONNECTION, sctp_add_src_dst_connection) +#define foreach_sctp_api_msg \ +_(SCTP_ADD_SRC_DST_CONNECTION, sctp_add_src_dst_connection) \ +_(SCTP_DEL_SRC_DST_CONNECTION, sctp_del_src_dst_connection) static void vl_api_sctp_add_src_dst_connection_t_handler @@ -63,6 +64,23 @@ static void REPLY_MACRO (VL_API_SCTP_ADD_SRC_DST_CONNECTION_REPLY); } +static void + vl_api_sctp_del_src_dst_connection_t_handler + (vl_api_sctp_del_src_dst_connection_t * mp) +{ + vl_api_sctp_del_src_dst_connection_reply_t *rmp; + int rv; + + if (mp->is_ipv6) + rv = sctp_sub_connection_del_ip6 + ((ip6_address_t *) mp->src_address, (ip6_address_t *) mp->dst_address); + else + rv = sctp_sub_connection_del_ip4 + ((ip4_address_t *) mp->src_address, (ip4_address_t *) mp->dst_address); + + REPLY_MACRO (VL_API_SCTP_ADD_SRC_DST_CONNECTION_REPLY); +} + #define vl_msg_name_crc_list #include <vnet/sctp/sctp.api.h> #undef vl_msg_name_crc_list |