lldp: API cleanup
Use consistent API types. Type: fix Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: I2fe6b56dc0f224f438ed5f14c0f276d94afbaea8 Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
This commit is contained in:
committed by
Ole Trøan
parent
db86329abb
commit
1c684f9af2
@@ -13,7 +13,10 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
option version = "1.0.0";
|
||||
option version = "2.0.0";
|
||||
|
||||
import "vnet/interface_types.api";
|
||||
import "vnet/ip/ip_types.api";
|
||||
|
||||
/** \brief configure global parameter for LLDP
|
||||
@param client_index - opaque cookie to identify the sender
|
||||
@@ -27,29 +30,29 @@ autoreply define lldp_config
|
||||
{
|
||||
u32 client_index;
|
||||
u32 context;
|
||||
u8 system_name[256];
|
||||
u32 tx_hold;
|
||||
u32 tx_interval;
|
||||
string system_name[];
|
||||
};
|
||||
|
||||
/** \brief Interface set LLDP request
|
||||
@param client_index - opaque cookie to identify the sender
|
||||
@param context - sender context, to match reply w/ request
|
||||
@param sw_if_index - interface for which to enable/disable LLDP
|
||||
@param port_desc - local port description
|
||||
@param mgmt_ip4_addr - management ip4 address of the interface
|
||||
@param mgmt_ip6_addr - management ip6 address of the interface
|
||||
@param mgmt_oid - OID(Object Identifier) of the interface
|
||||
@param enable - if non-zero enable, else disable
|
||||
@param port_desc - local port description
|
||||
*/
|
||||
autoreply define sw_interface_set_lldp
|
||||
{
|
||||
u32 client_index;
|
||||
u32 context;
|
||||
u32 sw_if_index;
|
||||
u8 port_desc[256];
|
||||
u8 mgmt_ip4[4];
|
||||
u8 mgmt_ip6[16];
|
||||
vl_api_interface_index_t sw_if_index;
|
||||
vl_api_ip4_address_t mgmt_ip4;
|
||||
vl_api_ip6_address_t mgmt_ip6;
|
||||
u8 mgmt_oid[128];
|
||||
u8 enable;
|
||||
bool enable [default=true];
|
||||
string port_desc[];
|
||||
};
|
||||
|
||||
@@ -24,6 +24,10 @@
|
||||
#include <vnet/api_errno.h>
|
||||
#include <vnet/lldp/lldp.h>
|
||||
|
||||
#include <vnet/ip/ip4_packet.h>
|
||||
#include <vnet/ip/ip6_packet.h>
|
||||
#include <vnet/ip/ip_types_api.h>
|
||||
|
||||
#include <vnet/vnet_msg_enum.h>
|
||||
|
||||
#define vl_typedefs /* define message structures */
|
||||
@@ -53,8 +57,7 @@ vl_api_lldp_config_t_handler (vl_api_lldp_config_t * mp)
|
||||
int rv = 0;
|
||||
u8 *sys_name = 0;
|
||||
|
||||
vec_validate (sys_name, strlen ((char *) mp->system_name) - 1);
|
||||
strncpy ((char *) sys_name, (char *) mp->system_name, vec_len (sys_name));
|
||||
sys_name = vl_api_from_api_to_new_vec (&mp->system_name);
|
||||
|
||||
if (lldp_cfg_set (&sys_name, ntohl (mp->tx_hold), ntohl (mp->tx_interval))
|
||||
!= lldp_ok)
|
||||
@@ -71,28 +74,31 @@ vl_api_sw_interface_set_lldp_t_handler (vl_api_sw_interface_set_lldp_t * mp)
|
||||
{
|
||||
vl_api_sw_interface_set_lldp_reply_t *rmp;
|
||||
int rv = 0;
|
||||
u8 *port_desc = 0, *mgmt_ip4 = 0, *mgmt_ip6 = 0, *mgmt_oid = 0;
|
||||
u8 no_data[256];
|
||||
u8 *mgmt_oid = 0, *mgmt_ip4 = 0, *mgmt_ip6 = 0;
|
||||
char *port_desc = 0;
|
||||
u8 no_data[128];
|
||||
ip4_address_t ip4;
|
||||
ip6_address_t ip6;
|
||||
|
||||
clib_memset (no_data, 0, 256);
|
||||
|
||||
if (memcmp (mp->port_desc, no_data, strlen ((char *) mp->port_desc)) != 0)
|
||||
if (vl_api_string_len (&mp->port_desc) > 0)
|
||||
{
|
||||
vec_validate (port_desc, strlen ((char *) mp->port_desc) - 1);
|
||||
strncpy ((char *) port_desc, (char *) mp->port_desc,
|
||||
vec_len (port_desc));
|
||||
port_desc = vl_api_from_api_to_new_c_string (&mp->port_desc);
|
||||
}
|
||||
|
||||
if (memcmp (mp->mgmt_ip4, no_data, sizeof (mp->mgmt_ip4)) != 0)
|
||||
ip4_address_decode (mp->mgmt_ip4, &ip4);
|
||||
|
||||
if (ip4.as_u32 != 0)
|
||||
{
|
||||
vec_validate (mgmt_ip4, sizeof (mp->mgmt_ip4) - 1);
|
||||
clib_memcpy (mgmt_ip4, mp->mgmt_ip4, vec_len (mgmt_ip4));
|
||||
vec_validate (mgmt_ip4, sizeof (ip4_address_t) - 1);
|
||||
clib_memcpy (mgmt_ip4, &ip4, vec_len (mgmt_ip4));
|
||||
}
|
||||
|
||||
if (memcmp (mp->mgmt_ip6, no_data, sizeof (mp->mgmt_ip6)) != 0)
|
||||
ip6_address_decode (mp->mgmt_ip6, &ip6);
|
||||
|
||||
if (!ip6_address_is_zero (&ip6))
|
||||
{
|
||||
vec_validate (mgmt_ip6, sizeof (mp->mgmt_ip6) - 1);
|
||||
clib_memcpy (mgmt_ip6, mp->mgmt_ip6, vec_len (mgmt_ip6));
|
||||
vec_validate (mgmt_ip6, sizeof (ip6_address_t) - 1);
|
||||
clib_memcpy (mgmt_ip6, &ip6, vec_len (mgmt_ip6));
|
||||
}
|
||||
|
||||
if (memcmp (mp->mgmt_oid, no_data, strlen ((char *) mp->mgmt_oid)) != 0)
|
||||
@@ -103,7 +109,7 @@ vl_api_sw_interface_set_lldp_t_handler (vl_api_sw_interface_set_lldp_t * mp)
|
||||
|
||||
VALIDATE_SW_IF_INDEX (mp);
|
||||
|
||||
if (lldp_cfg_intf_set (ntohl (mp->sw_if_index), &port_desc,
|
||||
if (lldp_cfg_intf_set (ntohl (mp->sw_if_index), (u8 **) & port_desc,
|
||||
&mgmt_ip4, &mgmt_ip6, &mgmt_oid,
|
||||
mp->enable) != lldp_ok)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user