Author: mhorne
Date: Fri Oct 30 13:32:58 2020
New Revision: 367163
URL: https://svnweb.freebsd.org/changeset/base/367163

Log:
  net: add ETHER_IS_IPV6_MULTICAST
  
  This can be used to detect if an ethernet address is specifically an
  IPv6 multicast address, defined in accordance to RFC 2464.
  
  ETHER_IS_MULTICAST is still preferred in the general case.
  
  Reviewed by:  ae
  Sponsored by: NetApp, Inc.
  Sponsored by: Klara, Inc.
  Differential Revision:        https://reviews.freebsd.org/D26611

Modified:
  head/sys/net/ethernet.h

Modified: head/sys/net/ethernet.h
==============================================================================
--- head/sys/net/ethernet.h     Fri Oct 30 10:46:35 2020        (r367162)
+++ head/sys/net/ethernet.h     Fri Oct 30 13:32:58 2020        (r367163)
@@ -71,6 +71,8 @@ struct ether_addr {
 } __packed;
 
 #define        ETHER_IS_MULTICAST(addr) (*(addr) & 0x01) /* is address 
mcast/bcast? */
+#define        ETHER_IS_IPV6_MULTICAST(addr) \
+       (((addr)[0] == 0x33) && ((addr)[1] == 0x33))
 #define        ETHER_IS_BROADCAST(addr) \
        (((addr)[0] & (addr)[1] & (addr)[2] & \
          (addr)[3] & (addr)[4] & (addr)[5]) == 0xff)
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to