Skip to content

Commit

Permalink
issue: 2394023 Fix active-backup failover_mac=1 RX
Browse files Browse the repository at this point in the history
In RoCE LAG failover_mac=1 mode we create a single rule which
doesn't include MAC address of the second interface. As workaround,
skip RoCE LAG mode check for active-backup failover_mac=1 and
perform attach flow operation for all slave rings.

Signed-off-by: Dmytro Podgornyi <[email protected]>
  • Loading branch information
pasis committed Dec 11, 2020
1 parent e7773c0 commit 923b94c
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions src/vma/dev/ring_bond.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -837,6 +837,17 @@ int ring_bond::socketxtreme_poll(struct vma_completion_t *, unsigned int, int)
void ring_bond::check_roce_lag_mode(const slave_data_vector_t& slaves)
{
#if defined(DEFINED_ROCE_LAG)
if (m_type == ACTIVE_BACKUP) {
net_device_val *p_ndev = g_p_net_device_table_mgr->get_net_device_val(m_parent->get_if_index());
if (p_ndev->m_bond_fail_over_mac > 0) {
/*
* Skip active-backup mode with failover_mac=1
* because we have to create rules for all MAC
* addresses.
*/
return;
}
}
m_b_roce_lag = slaves.size() > 1;
for (uint32_t i = 1; i < slaves.size(); i++) {
if (slaves[i]->p_ib_ctx != slaves[0]->p_ib_ctx) {
Expand Down

0 comments on commit 923b94c

Please sign in to comment.