diff options
author | imarom <imarom@cisco.com> | 2016-12-25 12:54:09 +0200 |
---|---|---|
committer | imarom <imarom@cisco.com> | 2016-12-25 13:50:56 +0200 |
commit | 34cb66c9f06c7a43e68a17b4a8802f8d34298a65 (patch) | |
tree | aa6b081213e5715cf09a18503cc7b0a20168c6fc /src/main_dpdk.cpp | |
parent | 549f2750ab22db5695a8d29575c136ab06e37235 (diff) |
refactor layer config on prot attributes
added guard against unconfigured MAC when going up with empty config
file
Signed-off-by: imarom <imarom@cisco.com>
Diffstat (limited to 'src/main_dpdk.cpp')
-rw-r--r-- | src/main_dpdk.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/main_dpdk.cpp b/src/main_dpdk.cpp index ffeec82a..95ab22b1 100644 --- a/src/main_dpdk.cpp +++ b/src/main_dpdk.cpp @@ -1762,7 +1762,7 @@ bool DpdkTRexPortAttr::update_link_status_nowait(){ /* in case of link status change - notify the dest object */ if (new_link.link_status != m_link.link_status) { - get_dest().on_link_down(); + on_link_down(); } } @@ -3407,8 +3407,8 @@ void CGlobalTRex::pre_test() { m_trex_stateless->get_port_by_id(port_id)->set_l3_mode(src_ipv4, dg, dst_mac); } - /* L2 mode */ - } else { + /* L2 mode */ + } else if (CGlobalInfo::m_options.m_mac_addr[port_id].u.m_mac.is_set) { m_trex_stateless->get_port_by_id(port_id)->set_l2_mode(dst_mac); } } @@ -4041,7 +4041,7 @@ void CGlobalTRex::dump_links_status(FILE *fd){ bool CGlobalTRex::lookup_port_by_mac(const uint8_t *mac, uint8_t &port_id) { for (int i = 0; i < m_max_ports; i++) { - if (memcmp(m_ports[i].get_port_attr()->get_src_mac(), mac, 6) == 0) { + if (memcmp(m_ports[i].get_port_attr()->get_layer_cfg().get_ether().get_src(), mac, 6) == 0) { port_id = i; return true; } @@ -5364,6 +5364,8 @@ int update_global_info_from_platform_file(){ for (i=0; i<port_size; i++){ cg->m_mac_info[i].copy_src(( char *)CGlobalInfo::m_options.m_mac_addr[i].u.m_mac.src) ; cg->m_mac_info[i].copy_dest(( char *)CGlobalInfo::m_options.m_mac_addr[i].u.m_mac.dest) ; + CGlobalInfo::m_options.m_mac_addr[i].u.m_mac.is_set = 1; + CGlobalInfo::m_options.m_ip_cfg[i].set_def_gw(cg->m_mac_info[i].get_def_gw()); CGlobalInfo::m_options.m_ip_cfg[i].set_ip(cg->m_mac_info[i].get_ip()); CGlobalInfo::m_options.m_ip_cfg[i].set_mask(cg->m_mac_info[i].get_mask()); @@ -7441,7 +7443,7 @@ int DpdkTRexPortAttr::set_rx_filter_mode(rx_filter_mode_e rx_filter_mode) { bool DpdkTRexPortAttr::is_loopback() const { uint8_t port_id; - return g_trex.lookup_port_by_mac(m_dest.get_dest_mac(), port_id); + return g_trex.lookup_port_by_mac(m_layer_cfg.get_ether().get_dst(), port_id); } /** |