All of lore.kernel.org
 help / color / mirror / Atom feed
* dsa: dsa_slave_port_obj_del calls multiple times with SWITCHDEV_OBJ_ID_HOST_MDB obj id
@ 2017-12-06  2:33 Tristram.Ha
  2017-12-06 13:56 ` Andrew Lunn
  0 siblings, 1 reply; 3+ messages in thread
From: Tristram.Ha @ 2017-12-06  2:33 UTC (permalink / raw)
  To: andrew, f.fainelli; +Cc: netdev, UNGLinuxDriver

I found the latest net-next kernel calls dsa_slave_port_obj_del() multiple times,
one for each port, with host port as the parameter.

As the base driver cannot find an entry with that host port, it returns an error
and so users will see a lot of failures from the DSA switch.

Is this a new behavior and the driver needs to handle that?  In previous versions
I do not think I saw that.

Typical operation is a PC connected to a port in a switch wants to send multicast
packets.  It broadcasts an IGMP membership join message.  Function
dsa_slave_port_obj_add is called to setup an entry in the lookup table.  When
IGMP membership leave message is received dsa_slave_port_obj_del will be
called after a delay.  But then it is called for each port with host port as the
parameter.

Another issue is the host port can setup an entry for IPv6 neighbor discovery like
33:33:FF:??:??:??.  When it leaves a failure message will be displayed for lan2,
lan3, and so on.  It seems the first deletion is coming from lan1.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-12-06 19:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-12-06  2:33 dsa: dsa_slave_port_obj_del calls multiple times with SWITCHDEV_OBJ_ID_HOST_MDB obj id Tristram.Ha
2017-12-06 13:56 ` Andrew Lunn
2017-12-06 19:31   ` Tristram.Ha

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.