> However, if some other (virtual) interface is added to the SW bridge, we still
> have the same problem. So I suspect that you want to see something like the
> following:
Yes, it would be good to have dynamic learning of MAC addresses on the
CPU port.
> ---
> net/dsa/tag_lan9303.c | 23 ++++++++++++++++++++++-
> 1 file changed, 22 insertions(+), 1 deletion(-)
>
> diff --git a/net/dsa/tag_lan9303.c b/net/dsa/tag_lan9303.c
> index 57519597c6fc..1003fd91755c 100644
> --- a/net/dsa/tag_lan9303.c
> +++ b/net/dsa/tag_lan9303.c
> @@ -16,6 +16,7 @@
> #include <linux/slab.h>
>
> #include "dsa_priv.h"
> +#include "../../drivers/net/dsa/lan9303.h"
Don't do that. Export the needed parts in an include file in
include/linux.
Otherwise, i think your approach is O.K.
Andrew