A list of some type should have type "struct ovs_list", not some other
type that encapsulates it.

Signed-off-by: Ben Pfaff <b...@nicira.com>
---
 lib/lldp/lldp.c          | 11 +++++------
 lib/lldp/lldpd-structs.h |  2 +-
 lib/ovs-lldp.c           | 17 +++++++----------
 tests/test-aa.c          | 13 +++++--------
 4 files changed, 18 insertions(+), 25 deletions(-)

diff --git a/lib/lldp/lldp.c b/lib/lldp/lldp.c
index a078538..cb3fbbc 100644
--- a/lib/lldp/lldp.c
+++ b/lib/lldp/lldp.c
@@ -274,7 +274,7 @@ lldp_send(struct lldpd *global OVS_UNUSED,
         lldp_tlv_end(p, start);
     }
 
-    if (!list_is_empty(&port->p_isid_vlan_maps.m_entries)) {
+    if (!list_is_empty(&port->p_isid_vlan_maps)) {
         int j;
 
         for (j = 0; j < LLDP_TLV_AA_ISID_VLAN_DIGEST_LENGTH; j++) {
@@ -288,7 +288,7 @@ lldp_send(struct lldpd *global OVS_UNUSED,
 
         LIST_FOR_EACH (vlan_isid_map,
                        m_entries,
-                       &hardware->h_lport.p_isid_vlan_maps.m_entries) {
+                       &hardware->h_lport.p_isid_vlan_maps) {
             u_int16_t status_vlan_word;
             status_vlan_word =
                 (vlan_isid_map->isid_vlan_data.status << 12) |
@@ -355,7 +355,7 @@ lldp_decode(struct lldpd *cfg OVS_UNUSED, char *frame, int 
s,
     list_init(&chassis->c_mgmt.m_entries);
 
     port = xzalloc(sizeof *port);
-    list_init(&port->p_isid_vlan_maps.m_entries);
+    list_init(&port->p_isid_vlan_maps);
 
     length = s;
     pos = (u_int8_t*) frame;
@@ -560,9 +560,8 @@ lldp_decode(struct lldpd *cfg OVS_UNUSED, char *frame, int 
s,
                         PEEK_BYTES(isid, 3);
                         isid_vlan_map->isid_vlan_data.isid =
                             (isid[0] << 16) | (isid[1] << 8) | isid[2];
-                        list_push_back(
-                            (struct ovs_list *) &port->p_isid_vlan_maps,
-                            (struct ovs_list *) isid_vlan_map);
+                        list_push_back(&port->p_isid_vlan_maps,
+                                       &isid_vlan_map->m_entries);
                         isid_vlan_map = NULL;
                     }
                     break;
diff --git a/lib/lldp/lldpd-structs.h b/lib/lldp/lldpd-structs.h
index c926c29..5d33561 100644
--- a/lib/lldp/lldpd-structs.h
+++ b/lib/lldp/lldpd-structs.h
@@ -100,7 +100,7 @@ struct lldpd_port {
     char                 *p_descr;
     u_int16_t            p_mfs;
     struct lldpd_aa_element_tlv        p_element;
-    struct lldpd_aa_isid_vlan_maps_tlv p_isid_vlan_maps;
+    struct ovs_list p_isid_vlan_maps; /* Contains "struct 
lldpd_aa_isid_vlan_maps_tlv"s. */
 };
 
 /* Used to modify some port related settings */
diff --git a/lib/ovs-lldp.c b/lib/ovs-lldp.c
index 4f27e5e..cae2a2e 100644
--- a/lib/ovs-lldp.c
+++ b/lib/ovs-lldp.c
@@ -261,11 +261,11 @@ aa_print_isid_status_port_isid(struct lldp *lldp, struct 
lldpd_port *port)
 {
     struct lldpd_aa_isid_vlan_maps_tlv *mapping;
 
-    if (list_is_empty(&port->p_isid_vlan_maps.m_entries)) {
+    if (list_is_empty(&port->p_isid_vlan_maps)) {
         return;
     }
 
-    LIST_FOR_EACH (mapping, m_entries, &port->p_isid_vlan_maps.m_entries) {
+    LIST_FOR_EACH (mapping, m_entries, &port->p_isid_vlan_maps) {
         uint32_t isid = mapping->isid_vlan_data.isid;
         struct aa_mapping_internal *m = mapping_find_by_isid(lldp, isid);
 
@@ -405,8 +405,7 @@ update_mapping_on_lldp(struct lldp *lldp, struct 
lldpd_hardware *hardware,
     lm->isid_vlan_data.isid = m->isid;
     lm->isid_vlan_data.vlan = m->vlan;
 
-    list_push_back(&hardware->h_lport.p_isid_vlan_maps.m_entries,
-                   &lm->m_entries);
+    list_push_back(&hardware->h_lport.p_isid_vlan_maps, &lm->m_entries);
 
     /* TODO Should be done in the Auto Attach state machine when a mapping goes
      * from "pending" to "active".
@@ -584,10 +583,8 @@ aa_mapping_unregister_mapping(struct lldp *lldp,
 {
     struct lldpd_aa_isid_vlan_maps_tlv *lm, *lm_next;
 
-    LIST_FOR_EACH_SAFE (lm,
-                        lm_next,
-                        m_entries,
-                        &hw->h_lport.p_isid_vlan_maps.m_entries) {
+    LIST_FOR_EACH_SAFE (lm, lm_next, m_entries,
+                        &hw->h_lport.p_isid_vlan_maps) {
         uint32_t isid = lm->isid_vlan_data.isid;
 
         if (isid == (uint32_t) m->isid) {
@@ -866,7 +863,7 @@ lldp_create(const struct netdev *netdev,
     hw->h_lport.p_element.system_id.mlt_id[0] = 0;
     hw->h_lport.p_element.system_id.mlt_id[1] = 0;
 
-    list_init(&hw->h_lport.p_isid_vlan_maps.m_entries);
+    list_init(&hw->h_lport.p_isid_vlan_maps);
     list_init(&lldp->lldpd->g_hardware.h_entries);
     list_push_back(&lldp->lldpd->g_hardware.h_entries, &hw->h_entries);
 
@@ -954,7 +951,7 @@ lldp_create_dummy(void)
     hw->h_lport.p_element.system_id.mlt_id[0] = 0;
     hw->h_lport.p_element.system_id.mlt_id[1] = 0;
 
-    list_init(&hw->h_lport.p_isid_vlan_maps.m_entries);
+    list_init(&hw->h_lport.p_isid_vlan_maps);
     list_init(&lldp->lldpd->g_hardware.h_entries);
     list_push_back(&lldp->lldpd->g_hardware.h_entries, &hw->h_entries);
 
diff --git a/tests/test-aa.c b/tests/test-aa.c
index 9f2d41a..09d137c 100644
--- a/tests/test-aa.c
+++ b/tests/test-aa.c
@@ -106,11 +106,10 @@ check_received_aa(struct lldpd_port *sport,
            sport->p_element.system_id.mlt_id[1]);
 
     /* Should receive 2 mappings */
-    assert(!list_is_empty(&rport->p_isid_vlan_maps.m_entries));
+    assert(!list_is_empty(&rport->p_isid_vlan_maps));
 
     /* For each received isid/vlan mapping */
-    LIST_FOR_EACH (received_map, m_entries,
-                   &rport->p_isid_vlan_maps.m_entries) {
+    LIST_FOR_EACH (received_map, m_entries, &rport->p_isid_vlan_maps) {
 
         /* Validate against mapping sent */
         assert(smap[i].isid_vlan_data.status ==
@@ -260,11 +259,9 @@ test_aa_send(void)
     map[1].isid_vlan_data.vlan    = map_init[1].isid_vlan_data.vlan;
     map[1].isid_vlan_data.isid    = map_init[1].isid_vlan_data.isid;
 
-    list_init(&hw->h_lport.p_isid_vlan_maps.m_entries);
-    list_push_back(&hw->h_lport.p_isid_vlan_maps.m_entries,
-                   &map[0].m_entries);
-    list_push_back(&hw->h_lport.p_isid_vlan_maps.m_entries,
-                   &map[1].m_entries);
+    list_init(&hw->h_lport.p_isid_vlan_maps);
+    list_push_back(&hw->h_lport.p_isid_vlan_maps, &map[0].m_entries);
+    list_push_back(&hw->h_lport.p_isid_vlan_maps, &map[1].m_entries);
 
     /* Construct LLDPPDU (including Ethernet header) */
     eth_compose(&packet, eth_addr_lldp, eth_src, ETH_TYPE_LLDP, 0);
-- 
2.1.3

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to