'Opens the raw socket to send and receive.
Args:
protocol : short in host byte order. None if ALL'

def open(self, protocol=None):

    if (self._socket is not None):
        raise error.TestError('Raw    socket    already    open')
    if (protocol is None):
        self._socket = socket.socket(socket.PF_PACKET, socket.SOCK_RAW)
        self._socket.bind((self._name, self.ETH_P_ALL))
    else:
        self._socket = socket.socket(socket.PF_PACKET, socket.SOCK_RAW, socket.htons(protocol))
        self._socket.bind((self._name, self.ETH_P_ALL))
    self._socket.settimeout(1)
