[Fusioninventory-devel] SNMP mapping issues

Guillaume Rousse guillomovitch at gmail.com
Wed Aug 14 19:31:14 UTC 2013


Le 13/08/2013 16:10, Guillaume Rousse a écrit :
> First issue: ifaddr variable.
>
> It is supposed to define IP addresses for each device port. Here is
> current definition of this variable, across various models:
> - 487 models map it to .1.3.6.1.2.1.4.20.1.2
> - 127 models map it to .1.3.6.1.2.1.4.20.1.1
> - 15 models map it to .1.3.6.1.2.1.4.21.1.7.10.10.0.0
> - 2 models map it to .1.3.6.1.4.1.258.403.1.6.1.2.0
>
> On at least 3 different models, for which I have walk samples, using
> .1.3.6.1.2.1.4.20.1.1 was plainly wrong, and fixing the models to use
> .1.3.6.1.2.1.4.20.1.2 instead gives immediatly expected results. See the
> following commit for details:
> https://github.com/fusinv/fusioninventory-agent/commit/bce471307f8e2941b00cd33ee6755f584716d14e
>
>
> However, as:
> - this is supposed to be a standard SNMP oid,
> -.1.3.6.1.2.1.4.20.1.1 is also used to map ipAdEntAddr in 541 models
>
> I'm rather inclined that's not worth fixing models, and than the agent
> would behave better here just by ignoring model-provided information,
> and relying on hardcoded logic...
Same problem with ifPhysAddress variable...

It is supposed to define MAC address for each device port. Here is
current definition of this variable, across various models:
1171 models map it to .1.3.6.1.2.1.2.2.1.6
10 models map it to .1.3.6.1.2.1.17.4.3.1.1
3 models map it to .1.3.6.1.2.1.17.2.15.1.6
2 models map it to .1.3.6.1.4.1.11.2.4.3.1.23.0

On two different juniper devices for which I had samples, fixing their 
respective models (Networking2448 and Networking2450) to use 
.1.3.6.1.2.1.2.2.1.6 (the most common value) instead of 
.1.3.6.1.2.1.17.4.3.1.1 (which is also used for dot1dTpFdbAddress) gives 
the correct results...

Once again, I'd rather hardcode such value in the agent instead of 
endlessly try to fix broken models...

In both cases (ifaddr and ifPhysAddress), that's quite simple to make 
the agent smart enough to identify a problematic situation. Both 
variables are supposed to give this kind of result:
$oid_prefix.$address = $port for ifaddr
$oid_prefix.$port    = $mac for ifPhysAddress

If $port doesn't match any known port number, there is obviously a 
problem...

-- 
Guillaume



More information about the Fusioninventory-devel mailing list