瀏覽代碼

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
+}