RE: [PATCH net-next 2/2] net: dsa: lan9303: Learn addresses on CPU port when bridged

From: Woojung.Huh
Date: Tue Oct 24 2017 - 13:18:40 EST


Hi Egil,

> +static inline int lan9303_tx_use_arl(struct dsa_port *dp, u8 *dest_addr)
> +{
> + struct lan9303 *chip = dp->ds->priv;
> +
> + return chip->is_bridged && !ether_addr_equal(dest_addr,
> eth_stp_addr);
> +}
>
> static struct sk_buff *lan9303_xmit(struct sk_buff *skb, struct net_device
> *dev)
> {
> @@ -62,7 +80,10 @@ static struct sk_buff *lan9303_xmit(struct sk_buff *skb,
> struct net_device *dev)
>
> lan9303_tag = (u16 *)(skb->data + 2 * ETH_ALEN);
> lan9303_tag[0] = htons(ETH_P_8021Q);
> - lan9303_tag[1] = htons(dp->index | BIT(4));
> + lan9303_tag[1] = lan9303_tx_use_arl(dp, skb->data) ?

How about using skb_mac_header(skb) than skb->data?

> + LAN9303_TAG_TX_USE_ALR :
> + dp->index |

Thanks.
Woojung