فهرست منبع

added some functions for TAP that detect whether a MAC address is a broadcast or IPv4 multicast address

Song Gao 12 سال پیش
والد
کامیت
0195689109
1فایلهای تغییر یافته به همراه8 افزوده شده و 0 حذف شده
  1. 8 0
      waterutil/tap.go

+ 8 - 0
waterutil/tap.go

@@ -38,3 +38,11 @@ func MACEthertype(macFrame []byte) Ethertype {
 func MACPayload(macFrame []byte) []byte {
 	return macFrame[12+MACTagging(macFrame)+2:]
 }
+
+func IsBroadcast(addr net.HardwareAddr) bool {
+	return addr[0] == 0xff && addr[1] == 0xff && addr[2] == 0xff && addr[3] == 0xff && addr[4] == 0xff && addr[5] == 0xff
+}
+
+func IsIPv4Multicast(addr net.HardwareAddr) bool {
+	return addr[0] == 0x01 && addr[1] == 0x00 && addr[2] == 0x5e
+}