O que significa “Nível de mensagem atual: 0x00000033 (51)”?

4

Existe uma pergunta semelhante aqui Qual é o nível de mensagem atual?

Referência vinculada na resposta não menciona esse valor 0x00000033 (51) .

Aqui está a saída completa do ethtool:

Settings for enp5s0:
Supported ports: [ TP MII ]
Supported link modes:   10baseT/Half 10baseT/Full 
                        100baseT/Half 100baseT/Full 
                        1000baseT/Half 1000baseT/Full 
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes:  10baseT/Half 10baseT/Full 
                        100baseT/Half 100baseT/Full 
                        1000baseT/Half 1000baseT/Full 
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: Yes
Link partner advertised link modes:  10baseT/Half 10baseT/Full 
                                     100baseT/Half 100baseT/Full 
Link partner advertised pause frame use: Symmetric Receive-only
Link partner advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: d
Current message level: 0x00000033 (51)
               drv probe ifdown ifup
Link detected: yes
    
por Peter Sandor 26.06.2016 / 17:32

2 respostas

1

A frase-chave do recurso Documentation/networking/netif-msg.txt referenciado pelo Qual é o nível de mensagem atual? (e citada por resosta para essa pergunta) é "A variável é um mapa de bits ..." Se você não sabe o que isso significa, faça alguma pesquisa.

Você está perguntando sobre o nível de mensagem 0x00000033. 0x33 = 0x1 | 0x2 | 0x10 | 0x20, para que o nível de mensagem seja equivalente a NETIF_MSG_DRV + NETIF_MSG_PROBE + NETIF_MSG_RX_ERR + NETIF_MSG_TX_ERR + NETIF_MSG_TX_QUEUED . E se você não sabe o que isso significa, você precisa fazer mais pesquisas, possivelmente incluindo pedindo uma nova pergunta que identifica claramente seu nível de conhecimento, e o que você faz e não entende.

    
por 03.05.2017 / 23:54
-1

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
    
por 03.05.2017 / 15:39