On 11/10/20 7:21 AM, Jeff Dike wrote: > Hi Jakub, > > On 11/9/20 2:47 PM, Jakub Kicinski wrote: >> This makes sense because mcast L2 addr is calculated, not discovered, >> and therefore can be recreated at a very low cost, correct? > > Yes. > >> Perhaps it would make sense to widen the API to any "computed" address >> rather than implicitly depending on this behavior for mcast? > > I'm happy to do that, but I don't know of any other types of addresses which > are computed and end up in the neighbors table. > >> I'm not an expert tho, maybe others disagree. >> >>> +static int arp_is_multicast(const void *pkey) >>> +{ >>> + return IN_MULTICAST(htonl(*((u32 *)pkey))); >>> +} >> >> net/ipv4/arp.c:935:16: warning: cast from restricted __be32 >> >> s/u32/__be32/ >> s/htonl/ntohl/ > > Thanks, I ran sparse, but must have missed that somehow. >
I missed this yesterday -- ipv4_is_multicast() is more appropriate and the norm for IPv4 addresses.