# HG changeset patch # User asl # Date 1084972342 0 # Node ID 5c0acafdc2b593c2cf2a5de315fc0f6ba7874018 # Parent 3a6958b017621efafc8cc8440b432479157fcbf0 * src/mibgroup/mibII/helpers.c (cyg_snmp_num_interfaces): return correct number of interfaces including the loopback interface. * src/mibgroup/mibII/helpers (cyg_snmp_get_if) increment the interface index properly. * src/mibgroup/mibII/interfaces.c (var_ifTable): Add case for IFT_PPP interface type. diff --git a/packages/net/snmp/agent/current/ChangeLog b/packages/net/snmp/agent/current/ChangeLog --- a/packages/net/snmp/agent/current/ChangeLog +++ b/packages/net/snmp/agent/current/ChangeLog @@ -1,3 +1,12 @@ +2004-05-14 Matt Jerdonek + + * src/mibgroup/mibII/helpers.c (cyg_snmp_num_interfaces): return + correct number of interfaces including the loopback interface. + * src/mibgroup/mibII/helpers (cyg_snmp_get_if) increment the + interface index properly. + * src/mibgroup/mibII/interfaces.c (var_ifTable): Add case + for IFT_PPP interface type. + 2003-10-09 Roland Cassebohm * src/mibgroup/mibII/dot3.c: Make sure the agent responses with diff --git a/packages/net/snmp/agent/current/src/mibgroup/mibII/helpers.c b/packages/net/snmp/agent/current/src/mibgroup/mibII/helpers.c --- a/packages/net/snmp/agent/current/src/mibgroup/mibII/helpers.c +++ b/packages/net/snmp/agent/current/src/mibgroup/mibII/helpers.c @@ -55,7 +55,7 @@ #include #include #include -#include +#include /* How many interfaces are there? */ @@ -64,9 +64,9 @@ extern struct ifaddr **ifnet_addrs; long cyg_snmp_num_interfaces(void) { long long_ret=0; - int cnt = if_index; + int cnt = if_index - 1; - while (cnt > 0) { + while (cnt >= 0) { if (ifnet_addrs[cnt] != 0) { long_ret++; } @@ -78,12 +78,15 @@ long cyg_snmp_num_interfaces(void) { struct ifnet *cyg_snmp_get_if(int if_num) { int index = 0; struct ifnet *ifp; + do { while(0 == ifnet_addrs[index]) index++; ifp = ifnet_addrs[index]->ifa_ifp; - if_num--; + + if_num--; + index++; } while (if_num); return ifp; diff --git a/packages/net/snmp/agent/current/src/mibgroup/mibII/interfaces.c b/packages/net/snmp/agent/current/src/mibgroup/mibII/interfaces.c --- a/packages/net/snmp/agent/current/src/mibgroup/mibII/interfaces.c +++ b/packages/net/snmp/agent/current/src/mibgroup/mibII/interfaces.c @@ -371,6 +371,9 @@ var_ifTable(struct variable *vp, case IFT_PROPVIRTUAL: strcpy( string, "(Proprietary Virtual/Internal)" ); break; + case IFT_PPP: + strcpy( string, "(Point to point interface)" ); + break; default: strcpy( string, "Some shy network adaptor" ); break;