From a4abdac55f474e9c1876444dcd6c4b461c25993d Mon Sep 17 00:00:00 2001 From: Mohsin Kazmi Date: Thu, 25 Nov 2021 16:02:24 +0100 Subject: api: add helper macros for native endian Type: improvement Change-Id: Ifa074dfd337f9cd68858468d34abf641fe7f247f Signed-off-by: Mohsin Kazmi --- src/vlibapi/api_helper_macros.h | 44 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'src/vlibapi/api_helper_macros.h') diff --git a/src/vlibapi/api_helper_macros.h b/src/vlibapi/api_helper_macros.h index 7a04bb056f2..320390534a5 100644 --- a/src/vlibapi/api_helper_macros.h +++ b/src/vlibapi/api_helper_macros.h @@ -273,6 +273,17 @@ do { \ } \ } while(0); +#define VALIDATE_SW_IF_INDEX_END(mp) \ + do \ + { \ + if (!vnet_sw_if_index_is_api_valid ((mp)->sw_if_index)) \ + { \ + rv = VNET_API_ERROR_INVALID_SW_IF_INDEX; \ + goto bad_sw_if_index; \ + } \ + } \ + while (0); + #define BAD_SW_IF_INDEX_LABEL \ do { \ bad_sw_if_index: \ @@ -287,6 +298,17 @@ bad_sw_if_index: \ } \ } while(0); +#define VALIDATE_RX_SW_IF_INDEX_END(mp) \ + do \ + { \ + if (!vnet_sw_if_index_is_api_valid ((mp)->rx_sw_if_index)) \ + { \ + rv = VNET_API_ERROR_INVALID_SW_IF_INDEX; \ + goto bad_rx_sw_if_index; \ + } \ + } \ + while (0); + #define BAD_RX_SW_IF_INDEX_LABEL \ do { \ bad_rx_sw_if_index: \ @@ -301,6 +323,17 @@ bad_rx_sw_if_index: \ } \ } while(0); +#define VALIDATE_TX_SW_IF_INDEX_END(mp) \ + do \ + { \ + if (!vnet_sw_if_index_is_api_valid (mp->tx_sw_if_index)) \ + { \ + rv = VNET_API_ERROR_INVALID_SW_IF_INDEX; \ + goto bad_tx_sw_if_index; \ + } \ + } \ + while (0); + #define BAD_TX_SW_IF_INDEX_LABEL \ do { \ bad_tx_sw_if_index: \ @@ -315,6 +348,17 @@ bad_tx_sw_if_index: \ } \ } while(0); +#define VALIDATE_BD_ID_END(mp) \ + do \ + { \ + if (mp->bd_id > L2_BD_ID_MAX) \ + { \ + rv = VNET_API_ERROR_BD_ID_EXCEED_MAX; \ + goto bad_bd_id; \ + } \ + } \ + while (0); + #define BAD_BD_ID_LABEL \ do { \ bad_bd_id: \ -- cgit 1.2.3-korg