Messages in this thread | | | From | Vladimir Oltean <> | Date | Mon, 3 Jun 2019 01:00:10 +0300 | Subject | Re: [PATCH v2 net-next 08/10] net: dsa: sja1105: Make sja1105_is_link_local not match meta frames |
| |
On Mon, 3 Jun 2019 at 00:40, Vladimir Oltean <olteanv@gmail.com> wrote: > > Although meta frames are configured to be sent at SJA1105_META_DMAC > (01-80-C2-00-00-0E) which is a multicast MAC address that would also be > trapped by the switch to the CPU, were it to receive it on a front-panel > port, meta frames are conceptually not link-local frames, they only > carry their RX timestamps. > > The choice of sending meta frames at a multicast DMAC is a pragmatic > one, to avoid installing an extra entry to the DSA master port's > multicast MAC filter. > > Signed-off-by: Vladimir Oltean <olteanv@gmail.com> > --- > Changes in v2: > > Patch is new. > > include/linux/dsa/sja1105.h | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/include/linux/dsa/sja1105.h b/include/linux/dsa/sja1105.h > index f3237afed35a..d64e56d6c521 100644 > --- a/include/linux/dsa/sja1105.h > +++ b/include/linux/dsa/sja1105.h > @@ -31,6 +31,8 @@ static inline bool sja1105_is_link_local(const struct sk_buff *skb) > const struct ethhdr *hdr = eth_hdr(skb); > u64 dmac = ether_addr_to_u64(hdr->h_dest); > > + if (ntohs(hdr->h_proto) == ETH_P_SJA1105_META) > + return false; > if ((dmac & SJA1105_LINKLOCAL_FILTER_A_MASK) == > SJA1105_LINKLOCAL_FILTER_A) > return true; > -- > 2.17.1 >
Please be aware that this patch is misplaced and should be moved after the current 09/10 (doesn't compile as 08/10). I'll bundle this change in v3 with the other feedback I'll hopefully get.
Thanks! -Vladimir
| |