[ovs-dev] [PATCH 18/32] lldpd-structs: Fix type of c_id member.

Ben Pfaff blp at nicira.com
Mon Feb 23 05:20:10 UTC 2015


This member is typically an Ethernet address so the appropriate type is
uint8_t, not char.  This eliminates a couple of casts.

Signed-off-by: Ben Pfaff <blp at nicira.com>
---
 lib/lldp/lldp.c          | 2 +-
 lib/lldp/lldpd-structs.h | 2 +-
 lib/ovs-lldp.c           | 4 ++--
 tests/test-aa.c          | 4 ++--
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/lib/lldp/lldp.c b/lib/lldp/lldp.c
index 2bd7d48..2b8de0e 100644
--- a/lib/lldp/lldp.c
+++ b/lib/lldp/lldp.c
@@ -341,7 +341,7 @@ lldp_decode(struct lldpd *cfg OVS_UNUSED, char *frame, int s,
     bool ttl_received = false;
     int tlv_size, tlv_type, tlv_subtype;
     u_int8_t *pos, *tlv;
-    char *b;
+    void *b;
     struct lldpd_aa_isid_vlan_maps_tlv *isid_vlan_map = NULL;
     u_int8_t msg_auth_digest[LLDP_TLV_AA_ISID_VLAN_DIGEST_LENGTH];
     struct lldpd_mgmt *mgmt;
diff --git a/lib/lldp/lldpd-structs.h b/lib/lldp/lldpd-structs.h
index 64ca093..f38969b 100644
--- a/lib/lldp/lldpd-structs.h
+++ b/lib/lldp/lldpd-structs.h
@@ -66,7 +66,7 @@ struct lldpd_chassis {
     u_int16_t       c_index;      /* Monotonic index */
     u_int8_t        c_protocol;   /* Protocol used to get this chassis */
     u_int8_t        c_id_subtype;
-    char            *c_id;
+    uint8_t         *c_id;        /* Typically an Ethernet address. */
     int             c_id_len;
     char            *c_name;
     char            *c_descr;
diff --git a/lib/ovs-lldp.c b/lib/ovs-lldp.c
index 446386a..68e8c24 100644
--- a/lib/ovs-lldp.c
+++ b/lib/ovs-lldp.c
@@ -207,7 +207,7 @@ aa_print_element_status_port(struct ds *ds, struct lldpd_hardware *hw)
 
             if (port->p_chassis) {
                 if (port->p_chassis->c_id_len > 0) {
-                    chassisid_to_string((uint8_t *) port->p_chassis->c_id,
+                    chassisid_to_string(port->p_chassis->c_id,
                                         port->p_chassis->c_id_len, &id);
                 }
 
@@ -808,7 +808,7 @@ lldp_create(const struct netdev *netdev,
     lchassis->c_id_subtype = LLDP_CHASSISID_SUBTYPE_LLADDR;
     lchassis->c_id_len = ETH_ADDR_LEN;
     lchassis->c_id = xmalloc(ETH_ADDR_LEN);
-    netdev_get_etheraddr(netdev, (uint8_t *) lchassis->c_id);
+    netdev_get_etheraddr(netdev, lchassis->c_id);
 
     list_init(&lchassis->c_mgmt);
     lchassis->c_ttl = lldp->lldpd->g_config.c_tx_interval *
diff --git a/tests/test-aa.c b/tests/test-aa.c
index 09d137c..95a5d0d 100644
--- a/tests/test-aa.c
+++ b/tests/test-aa.c
@@ -26,7 +26,7 @@
 #define ETH_TYPE_LLDP   0x88cc
 
 /* Dummy MAC addresses */
-static char chassis_mac[ETH_ADDR_LEN] = { 0x5e, 0x10, 0x8e, 0xe7, 0x84, 0xad };
+static uint8_t chassis_mac[ETH_ADDR_LEN] = { 0x5e, 0x10, 0x8e, 0xe7, 0x84, 0xad };
 static uint8_t eth_src[ETH_ADDR_LEN] = { 0x5e, 0x10, 0x8e, 0xe7, 0x84, 0xad };
 
 /* LLDP multicast address */
@@ -61,7 +61,7 @@ check_received_chassis(struct lldpd_chassis *schassis,
 {
     assert(rchassis->c_id_subtype == schassis->c_id_subtype);
     assert(rchassis->c_id_len == schassis->c_id_len);
-    assert(strncmp(rchassis->c_id, schassis->c_id, schassis->c_id_len) == 0);
+    assert(memcmp(rchassis->c_id, schassis->c_id, schassis->c_id_len) == 0);
     assert(strcmp(rchassis->c_name, schassis->c_name) == 0);
     assert(strcmp(rchassis->c_descr, schassis->c_descr) == 0);
     assert(rchassis->c_cap_available == schassis->c_cap_available);
-- 
2.1.3




More information about the dev mailing list