lldp-structs: Fix use of list of lldpd_aa_isid_vlan_maps_tlv.
authorBen Pfaff <blp@nicira.com>
Sun, 22 Feb 2015 21:35:00 +0000 (13:35 -0800)
committerBen Pfaff <blp@nicira.com>
Wed, 4 Mar 2015 00:19:29 +0000 (16:19 -0800)
A list of some type should have type "struct ovs_list", not some other
type that encapsulates it.

Signed-off-by: Ben Pfaff <blp@nicira.com>
lib/lldp/lldp.c
lib/lldp/lldpd-structs.h
lib/ovs-lldp.c
tests/test-aa.c

index f58eacf..5ef3575 100644 (file)
@@ -276,7 +276,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++) {
@@ -290,7 +290,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) |
@@ -358,7 +358,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;
@@ -563,9 +563,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;
index 66c87bf..7214d98 100644 (file)
@@ -101,7 +101,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 */
index 1030827..22003f0 100644 (file)
@@ -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);
 
index 19c4367..0701bba 100644 (file)
@@ -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);