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