Skip to content

Commit

Permalink
mlxsw: spectrum_router: Set activity interval according to both neigh…
Browse files Browse the repository at this point in the history
…bour tables

The neighbours' activity is currently dumped according to the ARP
table's DELAY_PROBE time, but with the introduction of IPv6 offload we
should set the interval according to the minimum between the ARP and
ndisc tables.

Signed-off-by: Arkadi Sharshvesky <arkadis@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Arkadi Sharshevsky authored and David S. Miller committed Jul 18, 2017
1 parent 60f040c commit a6c9b5d
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
Original file line number Diff line number Diff line change
Expand Up @@ -932,8 +932,11 @@ mlxsw_sp_neigh_entry_lookup(struct mlxsw_sp *mlxsw_sp, struct neighbour *n)
static void
mlxsw_sp_router_neighs_update_interval_init(struct mlxsw_sp *mlxsw_sp)
{
unsigned long interval = NEIGH_VAR(&arp_tbl.parms, DELAY_PROBE_TIME);
unsigned long interval;

interval = min_t(unsigned long,
NEIGH_VAR(&arp_tbl.parms, DELAY_PROBE_TIME),
NEIGH_VAR(&nd_tbl.parms, DELAY_PROBE_TIME));
mlxsw_sp->router->neighs_update.interval = jiffies_to_msecs(interval);
}

Expand Down Expand Up @@ -1321,7 +1324,7 @@ int mlxsw_sp_router_netevent_event(struct notifier_block *unused,
p = ptr;

/* We don't care about changes in the default table. */
if (!p->dev || p->tbl != &arp_tbl)
if (!p->dev || (p->tbl != &arp_tbl && p->tbl != &nd_tbl))
return NOTIFY_DONE;

/* We are in atomic context and can't take RTNL mutex,
Expand Down

0 comments on commit a6c9b5d

Please sign in to comment.