summaryrefslogtreecommitdiffhomepage
path: root/pkg/tcpip/header
diff options
context:
space:
mode:
authorgVisor bot <gvisor-bot@google.com>2020-10-09 16:14:24 +0000
committergVisor bot <gvisor-bot@google.com>2020-10-09 16:14:24 +0000
commit48606fbf85c7b5e9884a9a212e918283c16a1903 (patch)
tree623898f35a6bcad0ac77c79b34e91dfb226daddf /pkg/tcpip/header
parent13c73e720fabd96f6fa8778df197e7027e9cad2c (diff)
parent8566decab094008d5f873cb679c972d5d60cc49a (diff)
Merge release-20200928.0-74-g8566decab (automated)
Diffstat (limited to 'pkg/tcpip/header')
-rw-r--r--pkg/tcpip/header/eth.go16
1 files changed, 5 insertions, 11 deletions
diff --git a/pkg/tcpip/header/eth.go b/pkg/tcpip/header/eth.go
index 95ade0e5c..eaface8cb 100644
--- a/pkg/tcpip/header/eth.go
+++ b/pkg/tcpip/header/eth.go
@@ -117,31 +117,25 @@ func (b Ethernet) Encode(e *EthernetFields) {
copy(b[dstMAC:][:EthernetAddressSize], e.DstAddr)
}
-// IsMulticastEthernetAddress returns true if the address is a multicast
-// ethernet address.
-func IsMulticastEthernetAddress(addr tcpip.LinkAddress) bool {
- if len(addr) != EthernetAddressSize {
- return false
- }
-
- return addr[unicastMulticastFlagByteIdx]&unicastMulticastFlagMask != 0
-}
-
-// IsValidUnicastEthernetAddress returns true if the address is a unicast
+// IsValidUnicastEthernetAddress returns true if addr is a valid unicast
// ethernet address.
func IsValidUnicastEthernetAddress(addr tcpip.LinkAddress) bool {
+ // Must be of the right length.
if len(addr) != EthernetAddressSize {
return false
}
+ // Must not be unspecified.
if addr == unspecifiedEthernetAddress {
return false
}
+ // Must not be a multicast.
if addr[unicastMulticastFlagByteIdx]&unicastMulticastFlagMask != 0 {
return false
}
+ // addr is a valid unicast ethernet address.
return true
}