Informações da interface de rede no AIX

2

Eu quero obter todas as informações sobre as interfaces de rede disponíveis no AIX. Como no linux, podemos obtê-lo de /sys/class/net files. Existe algum arquivo no AIX onde eu possa encontrar informações relevantes?

Eu também estou tentando acessá-lo usando o arquivo "/ dev / kmem". Qual estrutura devo usar para capturar as informações da interface de rede, como no caso de informações do sistema, usamos struct sysinfo. Eu estou tentando obter informações para o símbolo "ifnet". Posso obter informações como MTU, endereço de hardware da interface de rede daqui?

    
por diago 14.08.2014 / 08:23

2 respostas

2

No AIX, coisas como essa são mantidas no ODM, mas a maneira mais fácil de obter isso é usar comandos do sistema operacional. Para interfaces de rede,

ifconfig -a para informações lógicas. lscfg , lsdev e lsattr para detalhes físicos (ou pseudo-físicos em alguns casos).

Exemplos,

$ifconfig -a
en1: flags=5e080863,c0<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,CHECKSUM_OFFLOAD(INACTIVE),PSEG,LARGESEND,CHAIN>
        inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
en0: flags=5e080822,c0<BROADCAST,NOTRAILERS,SIMPLEX,MULTICAST,GROUPRT,64BIT,CHECKSUM_OFFLOAD(ACTIVE),PSEG,LARGESEND,CHAIN>
en2: flags=4e080822,80<BROADCAST,NOTRAILERS,SIMPLEX,MULTICAST,GROUPRT,64BIT,PSEG,CHAIN>
en3: flags=4e080822,80<BROADCAST,NOTRAILERS,SIMPLEX,MULTICAST,GROUPRT,64BIT,PSEG,CHAIN>
lo0: flags=e08084b<UP,BROADCAST,LOOPBACK,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT>
        inet 127.0.0.1 netmask 0xff000000 broadcast 127.255.255.255
        inet6 ::1/0
         tcp_sendspace 131072 tcp_recvspace 131072 rfc1323 1

$lsdev -Cl en1
en1 Available 10-78 Standard Ethernet Network Interface

$lscfg -vl ent1
  ent1             P1-I5/E1  10/100 Mbps Ethernet PCI Adapter II (1410ff01)

      10/100 Mbps Ethernet PCI Adapter II:
        Part Number.................09P5023
        FRU Number..................09P5023
        EC Level....................H10971A
        Manufacture ID..............YL1021
        Network Address.............0002556AF7A9
        ROM Level.(alterable).......SCU001
        Product Specific.(Z0).......A5204205
        Hardware Location Code......P1-I5/E1

$lsattr -El ent1
alt_addr        0x000000000000  Alternate Ethernet Address                    True
busintr         14              Bus interrupt level                           False
busmem          0xc0284000      Bus memory address                            False
chksum_offload  yes             Enable hardware transmit and receive checksum True
intr_priority   3               Interrupt priority                            False
ipsec_offload   no              IPsec Offload                                 True
large_send      yes             Enable TCP Large Send Offload                 True
media_speed     100_Full_Duplex Media Speed                                   True
poll_link       no              Enable Link Polling                           True
poll_link_timer 500             Time interval for Link Polling                True
rom_mem         0xc0200000      ROM memory address                            False
rx_hog          1000            RX Descriptors per RX Interrupt               True
rxbuf_pool_sz   1024            Receive Buffer Pool Size                      True
rxdesc_que_sz   512             RX Descriptor Queue Size                      True
slih_hog        10              Interrupt Events per Interrupt                True
tx_preload      1520            TX Preload Value                              True
tx_que_sz       8192            Software TX Queue Size                        True
txdesc_que_sz   512             TX Descriptor Queue Size                      True
use_alt_addr    no              Enable Alternate Ethernet Address             True

Parece que você quer fazer isso por meio de uma API. O ODM é a melhor aposta então. Não tenho ideia de como isso é atualizado, mas aqui está o IBM ODM Link de documentação da API .

Os arquivos ODM geralmente estão em /etc/objrepos , embora muitos arquivos sejam links simbólicos para /usr/lib/objrepos . Alguns produtos podem instalar arquivos ODM em outros locais também, por exemplo, HACMP (agora PowerHA System Mirror ou algo assim).

    
por 14.08.2014 / 09:35
0

O ODM é como um usuário deseja que um sistema seja configurado. Ele é lido no momento da inicialização e por mkdev, cfgmgr, etc. Mas o AIX permite a manipulação direta dos atributos, da mesma forma que um sistema BSD faz. por exemplo. Você pode alterar o endereço IP de uma interface com ifconfig en0 10.10.10.10 como faria no BSD. O ODM não não é alterado nesse caso. Ou você pode fazer isso com chdev -l en0 -a netaddr=10.10.10.10 , que atualiza o ODM e a configuração atual. Ou, você pode adicionar um sinalizador -P ao chdev e atualizar apenas o ODM para que ele seja afetado na reinicialização.

As interfaces do ODM estão documentadas no link do IBM pubs padrão . Todas as várias maneiras de acessar as configurações atuais como ifconfig ou netstat também são documentadas. Uma cópia dos livros de Stephens ou outro material de referência do BSD pode iniciá-lo para acessar as configurações atuais. Acredito que existam amostras no AIX que demonstram como lidar com o ODM.

    
por 30.08.2014 / 06:32