A high performance network interface receives network traffic in the form
of packets. The network interface parses one or more headers of a received
packet in order to determine whether the packet has been formatted with a
pre-selected protocol. If so, one or more efficient enhancements in the
processing of a packet may be enabled for the packet. During parsing,
header data that may be useful in the processing enhancements may be
saved. A packet conforming to one or more of a set of pre-selected
protocols may be more completely parsed than a packet not conforming to
any of the pre-selected protocols. Instructions for parsing a packet to
determine a protocol and to extract useful data are stored in a writeable
random-access memory. The instructions may be replaced, modified or
supplemented depending upon the composition of network traffic and the
protocols selected for enhanced processing. In a parsing instruction
executed by a micro-sequencer, a value is extracted from a header and
compared to a test value that may be derived from a protocol
specification. If the comparison succeeds parsing continues along a first
branch; if the comparison succeeds it continues along a second branch. The
value extracted from the header may be saved. An offset to a parsing
position within the packet is maintained and updated as the packet is
parsed. Values other than those extracted for comparison may also be
identified and saved.
Uma relação da rede do desempenho elevado recebe o tráfego da rede no formulário dos pacotes. A relação da rede analisa gramaticalmente um ou mais encabeçamento de um pacote recebido a fim determinar se o pacote estêve formatado com um protocolo pre-selected. Se assim, um ou o mais realce eficiente em processar de um pacote pode ser permitido para o pacote. Durante analisar gramaticalmente, os dados do encabeçamento que podem ser úteis nos realces processando podem ser conservados. Um pacote que conforma-se a um ou a mais de um jogo de protocolos pre-selected pode mais completamente ser analisado gramaticalmente do que um pacote que não se conforma a alguns dos protocolos pre-selected. As instruções para analisar gramaticalmente um pacote para determinar um protocolo e para extrair dados úteis são armazenadas em uma memória random-access writeable. As instruções podem ser substituídas, depender modificado ou suplementado em cima da composição do tráfego da rede e os protocolos ser selecionadas para processar realçado. Em uma instrução analisar gramaticalmente executada por um micro-micro-sequencer, um valor é extraído de um encabeçamento e comparado ao teste um valor que possa ser derivado de uma especificação do protocolo. Se a comparação suceder analisar gramaticalmente continuar ao longo de uma primeira filial; se a comparação suceder continua ao longo de uma segunda filial. O valor extraído do encabeçamento pode ser conservado. Um offset a uma posição analisar gramaticalmente dentro do pacote está mantido e atualizado enquanto o pacote é analisado gramaticalmente. Os valores à excepção daqueles extraídos para a comparação podem também ser identificados e conservado.