Mercurial > ecos-v3_0-branch
changeset 1645:5c0acafdc2b5
* 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.
| author | asl |
|---|---|
| date | Wed, 19 May 2004 13:12:22 +0000 |
| parents | 3a6958b01762 |
| children | bd46419bc8c4 |
| files | packages/net/snmp/agent/current/ChangeLog packages/net/snmp/agent/current/src/mibgroup/mibII/helpers.c packages/net/snmp/agent/current/src/mibgroup/mibII/interfaces.c |
| diffstat | 3 files changed, 19 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/packages/net/snmp/agent/current/ChangeLog +++ b/packages/net/snmp/agent/current/ChangeLog @@ -1,3 +1,12 @@ +2004-05-14 Matt Jerdonek <maj1224@yahoo.com> + + * 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 <roland.cassebohm@visionsystems.de> * src/mibgroup/mibII/dot3.c: Make sure the agent responses with
--- 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 <sys/socket.h> #include <sys/time.h> #include <net/if.h> -#include <net/if.h> +#include <net/if_types.h> /* 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;
--- 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;
