  put (MACAddr m) = putByteString m

-- | 2-byte EtherType, specifies the protocol of the frame.
newtype EtherType = EtherType Word16
  deriving (Show, Eq, Num)

-- | Simple Binary instance to get/put a Word16 in big endian
instance Serialize EtherType where
  get = EtherType <$> getWord16be
  put (EtherType e) = putWord16be e

-- | 2-byte VLAN tag
data VLANTag = VLANTag
  { tpid :: Word16