Why admin_status in netsnmp_interface_entry is defined char? It should be u_int.

"Peilong Xia" <[email protected]>
Newsgroups gmane.network.net-snmp.user
Message-ID <62CEADC0CAC87C438EEA240E33E2B5CE0FD5C2E4@IRVEXCHMB07.corp.ad.broadcom.com>
I'm using net-snmp-5.7.2.

And I met an issue when I tried to set IP-MIB::ipv4InterfaceEnableStatus
I got the following error when I set it to 2(stop):
Error in packet.
Reason: wrongLength (The set value has an illegal length from what the agent expects)

I reviewed the code, and found the it failed at the following code:

        rc = netsnmp_check_vb_type_and_size(var, ASN_INTEGER,
                                            sizeof(rowreq_ctx->data.
                                                   ipv4InterfaceEnableStatus));

It is in function _ipv4InterfaceTable_check_column() in file "agent/mibgroup/ip-mib/ipv4InterfaceTable/ipv4InterfaceTable_interface.c"

The rowreq_ctx->data.ipv4InterfaceEnableStatus is refer to admin_status in struct netsnmp_interface_entry:
typedef struct netsnmp_interface_entry_s {
    ......

    char  admin_status;

    .......
} netsnmp_interface_entry;


But in ipMIB, it is defined as an INTEGER:
ifAdminStatus OBJECT-TYPE
SYNTAX  INTEGER {
up(1),       -- ready to pass packets
               down(2),
                testing(3)   -- in some test mode
            }

I also found _ifTable_check_column() in file "agent/mibgroup/if-mib/ifTable/ifTable_interface.c" has another different method to handle it:
case COLUMN_IFADMINSTATUS:
        /** special case: we are using exernal storage w/smaller data size
         ** for storage, so we can't use sizeof on data context. So we
         ** just check that it's the expected size. The enum tests below
         ** will ensure that there is no data overflow. */
        rc = netsnmp_check_vb_type_and_size(var, ASN_INTEGER,
                                            sizeof(u_long))


So I think the admin_status in netsnmp_interface_entry should be defined  u_int to avoid the column check problem.


Thanks,
Peilong

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk

_______________________________________________
Net-snmp-users mailing list
[email protected]
Please see the following page to unsubscribe or change other options:
https://lists.sourceforge.net/lists/listinfo/net-snmp-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.