Hello,

Pour commencer, je ne suis pas programmeur pour deux sous, tout ce qui
suit est fait au pur feeling.

net-snmp a la très fâcheuse tendance à ne pas remplir la table ifAlias :
$ snmpwalk -v2c -c public judicael-ovpn2.grif ifAlias
IF-MIB::ifAlias.1 = STRING:
IF-MIB::ifAlias.2 = STRING:
IF-MIB::ifAlias.3 = STRING:
IF-MIB::ifAlias.4 = STRING:
IF-MIB::ifAlias.5 = STRING:
IF-MIB::ifAlias.6 = STRING:

Quand bien même on a bien renseigné l’alias avec iproute2 :
# ip link show eth1
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT 
group default qlen 1000
    link/ether 2a:6f:f1:84:22:11 brd ff:ff:ff:ff:ff:ff
    alias Core: Interco VLAN 30

Aujourd’hui j’ai fini par me décider à enfin patcher ça. J’ai commencé
par ré-écrire la fonction pour ifDescr (en copiant les autres fonctions
et en faisant marcher mon cerveau) et là j’avais bien ce que je
voulais :
$ snmpwalk -On -v2c -c public judicael-ovpn2.grif ifDescr
.1.3.6.1.2.1.2.2.1.2.1 = STRING: lo
.1.3.6.1.2.1.2.2.1.2.2 = STRING: eth0
.1.3.6.1.2.1.2.2.1.2.3 = STRING: Core: Interco VLAN 30
.1.3.6.1.2.1.2.2.1.2.4 = STRING: eth2
.1.3.6.1.2.1.2.2.1.2.5 = STRING: tun-tcp0
.1.3.6.1.2.1.2.2.1.2.6 = STRING: tun-udp0

Mais ça se gâte quand je veux faire en sorte d’avoir ça sur ifAlias,
snmpd crashe :
# /usr/sbin/snmpd -f -p /var/run/snmpd.pid -I -smux
free(): invalid pointer
Aborted

Voici les patches que j’ai réussi à pondre :
https://paste.swordarmor.fr/NvJc
Là dedans, _arch_interface_alias_get marche avec ifDescr si je la
renomme en _arch_interface_description_get et que je remplace
'entry->alias' par 'entry->descr'.

À mon avis, le crash est dû au bloc @@ -721,6 +725,17 @@ de
agent/mibgroup/if-mib/data_access/interface.c mais comme j’y pige pas
grand chose, je ne suis pas sûr de moi.

Est-ce que quelqu’un aurait des pires, voire carrément la solution ?

Merci,
-- 
Alarig


---------------------------
Liste de diffusion du FRnOG
http://www.frnog.org/

Répondre à