code: def read_ethernet(self, length):
          
          if length is None:
              length = len(self)
  
          _dstm = self._read_mac_addr()
          _srcm = self._read_mac_addr()
          _type = self._read_protos(2)
  
          ethernet = dict(
              dst=_dstm,
              src=_srcm,
              type=_type,
          )
  
          length -= 14
          ethernet['packet'] = self._read_packet(header=14, payload=length)
  
          return self._decode_next_layer(ethernet, _type, length)
docs: Read Ethernet Protocol.
  
          Structure of Ethernet Protocol header [RFC 7042]:
              Octets      Bits        Name                    Description
                0           0     eth.dst                 Destination MAC Address
                1           8     eth.src                 Source MAC Address
                2          16     eth.type                Protocol (Internet Layer)