Extraído do link a seguir
link
NETIF Msg Level
O design da configuração do nível de mensagem da interface de rede.
História
O design da interface da mensagem de depuração foi orientado e
restringido pela prática anterior de compatibilidade com versões anteriores. É útil
para entender a história e evolução, a fim de compreender a atual
prática e relacioná-lo ao código-fonte do driver mais antigo.
Desde o início do Linux, cada driver de dispositivo de rede tem um
variável inteira que controla o nível da mensagem de depuração. A mensagem
nível variou de 0 a 7, e monotonicamente aumentou em verbosidade.
O nível de mensagem não foi definido com precisão no nível 3 anterior, mas foi
sempre implementado dentro de + -1 do nível especificado. Drivers tendidos
lançar as mensagens de nível mais detalhado à medida que elas amadurecem.
0 Mensagens mínimas, apenas informações essenciais sobre erros fatais.
1 Mensagens padrão, status de inicialização. Nenhuma mensagem de tempo de execução
2 Mensagens especiais de seleção de mídia, geralmente timer-driver.
3 Interface inicia e pára, incluindo mensagens de status normais
4 mensagens de erro de quadros Tx e Rx e operação anormal do driver
5 informações da fila de pacotes Tx, eventos de interrupção.
6 Status em cada pacote Tx concluído e pacotes Rx recebidos
7 Conteúdo inicial dos pacotes Tx e Rx
Inicialmente, essa variável de nível de mensagem foi nomeada exclusivamente em cada driver
por exemplo. "lance_debug", para que um depurador simbólico do kernel possa localizar e
modificar a configuração. Quando os módulos do kernel se tornaram comuns, as variáveis
foram constantemente renomeados para "debug" e podem ser configurados como um módulo
parâmetro.
Essa abordagem funcionou bem. No entanto, há sempre uma demanda por
características adicionais. Ao longo dos anos surgiram os seguintes
Aprimoramentos razoáveis e fáceis de implementar
Usando uma chamada ioctl () para modificar o nível.
Configuração de nível de mensagem por interface, em vez de por driver.
Controle mais seletivo sobre o tipo de mensagens emitidas.
A recomendação netif_msg adiciona esses recursos apenas com uma pequena
a complexidade e o tamanho do código aumentam.
A recomendação é os seguintes pontos
Retendo a variável inteira por driver "debug" como um módulo
parâmetro com um nível padrão de '1'.
Adding a per-interface private variable named "msg_enable". The
variable is a bit map rather than a level, and is initialized as
1 << debug
Or more precisely
debug < 0 ? 0 : 1 << min(sizeof(int)-1, debug)
Messages should changes from
if (debug > 1)
printk(MSG_DEBUG "%s: ...
to
if (np->msg_enable & NETIF_MSG_LINK)
printk(MSG_DEBUG "%s: ...
The set of message levels is named
Old level Name Bit position
0 NETIF_MSG_DRV 0x0001
1 NETIF_MSG_PROBE 0x0002
2 NETIF_MSG_LINK 0x0004
2 NETIF_MSG_TIMER 0x0004
3 NETIF_MSG_IFDOWN 0x0008
3 NETIF_MSG_IFUP 0x0008
4 NETIF_MSG_RX_ERR 0x0010
4 NETIF_MSG_TX_ERR 0x0010
5 NETIF_MSG_TX_QUEUED 0x0020
5 NETIF_MSG_INTR 0x0020
6 NETIF_MSG_TX_DONE 0x0040
6 NETIF_MSG_RX_STATUS 0x0040
7 NETIF_MSG_PKTDATA 0x0080