Robert (and community):
All right, I'll bite. You say that the function
netsnmp_table_set_multi_add_default_row
specifies the default values of fields of a row, and that it does
not actually create a row. OK, OK. Yet, I still claim the naming
of the function is inappropriate. I would suggest the name
netsnmp_table_set_row_multi_declare_default_field_values
This name seems to me more consistent with the purpose of the
function.
Now, a more interesting question comes. Why, if the function is
question is called, so as to specify default field (column) values,
does a subsequent call to the functions
row = netsnmp_create_table_data_row();
ifIdx = 1;
netsnmp_table_row_add_index(row, ASN_INTEGER, &ifIdx, sizeof(ifIdx));
netsnmp_set_row_column(row, 2, ASN_OCTET_STR, "00:00:b7:c2:59:0a", 17);
netsnmp_mark_row_column_writable(row, 2, 1);
netsnmp_table_dataset_add_row(table_set, row);
not result in a row with default values for fields not explicitly
defined, such as is done above via the function
netsnmp_set_row_column
given that the default values were specified in a call to the
function
netsnmp_table_set_multi_add_default_row
with the following variable defined as
tableInteger = 127;
with parameters, as have been posted in my prior submissions to the
users group,
COLUMN_DOT11STATIONID, ASN_OCTET_STR, 1,
"00:00:b7:c2:59:0a", strlen("00:00:b7:c2:59:0a"),
COLUMN_DOT11MEDIUMOCCUPANCYLIMIT, ASN_INTEGER, 1, (char *)
&tableInteger, sizeof(tableInteger),
COLUMN_DOT11CFPOLLABLE, ASN_INTEGER, 0, NULL, 0,
COLUMN_DOT11CFPPERIOD, ASN_INTEGER, 1, NULL, 0,
COLUMN_DOT11CFPMAXDURATION, ASN_INTEGER, 1, NULL, 0,
COLUMN_DOT11AUTHENTICATIONRESPONSETIMEOUT, ASN_UNSIGNED, 1, NULL, 0,
COLUMN_DOT11PRIVACYOPTIONIMPLEMENTED, ASN_INTEGER, 0, NULL, 0,
COLUMN_DOT11POWERMANAGEMENTMODE, ASN_INTEGER, 1, NULL, 0,
COLUMN_DOT11DESIREDSSID, ASN_OCTET_STR, 1,
"WRBuckley", strlen("WRBuckley"),
COLUMN_DOT11DESIREDBSSTYPE, ASN_INTEGER, 1, NULL, 0,
COLUMN_DOT11OPERATIONALRATESET, ASN_OCTET_STR, 1, NULL, 0,
COLUMN_DOT11BEACONPERIOD, ASN_INTEGER, 1, NULL, 0,
COLUMN_DOT11DTIMPERIOD, ASN_INTEGER, 1, NULL, 0,
COLUMN_DOT11ASSOCIATIONRESPONSETIMEOUT, ASN_UNSIGNED, 1, NULL, 0,
COLUMN_DOT11DISASSOCIATEREASON, ASN_INTEGER, 0, NULL, 0,
COLUMN_DOT11DISASSOCIATESTATION, ASN_OCTET_STR, 0, NULL, 0,
COLUMN_DOT11DEAUTHENTICATEREASON, ASN_INTEGER, 0, NULL, 0,
COLUMN_DOT11DEAUTHENTICATESTATION, ASN_OCTET_STR, 0, NULL, 0,
COLUMN_DOT11AUTHENTICATEFAILSTATUS, ASN_INTEGER, 0, NULL, 0,
COLUMN_DOT11AUTHENTICATEFAILSTATION, ASN_OCTET_STR, 0, NULL, 0,
COLUMN_DOT11MULTIDOMAINCAPABILITYIMPLEMENTED, ASN_INTEGER, 1, NULL, 0,
COLUMN_DOT11MULTIDOMAINCAPABILITYENABLED, ASN_INTEGER, 1, NULL, 0,
COLUMN_DOT11COUNTRYSTRING, ASN_OCTET_STR, 0, NULL, 0,
0
If, as is advertised, the function
netsnmp_table_set_multi_add_default_row
does define the default values of row fields, then when I create
a new row, any defined field values ought logically to obtain the
defined default value. Yet, this is not the observed output of
a walk of the MIB:
/usr/local/bin/snmpwalk -v 2c -c public2 localhost .1
iso.2.840.10036.1.1.1.2.1 = STRING: "00:00:b7:c2:59:0a"
iso.2.840.10036.1.1.1.2.2 = STRING: "Buckley"
iso.2.840.10036.3.1.1.0 = STRING: "RTID"
SNMPv2-MIB::sysDescr.0 = STRING: Linux localhost.localdomain 2.4.20-31.9
#1 Tue Apr 13 18:04:23 EDT 2004 i686
So, why does not for OID
COLUMN_DOT11MEDIUMOCCUPANCYLIMIT
the value
127
get returned?
William R. Buckley
PS - I have also observed that failure to call the function
netsnmp_table_set_multi_add_default_row
during the initialisation phase of MIB servicing will result
in no support from the daemon for the corresponding MIB. Why
should I need to specify default values in order to obtain
get/set/walk support? It would seem that the default function
does more than define default values.
> On Tue, 23 Nov 2004 17:55:39 -0800 [EMAIL PROTECTED] wrote:
> WC> However, as we should all know, the call to the function
> WC> netsnmp_table_set_multi_add_default_row creates the row, as a default.
>
> It seems we know different things. This does not add a row to the table at
> all.
> It defines the default values to be used when creating a new row. Try setting
> a
> column for a new index in your table, and see if a row appears. Depending on
> the table configuration (if you require RowStatus to create a new row), it
> will, and should use the defaults you specified at init for any columns you
> did
> not send in the set request.
>
> WC> why the index cannot be *completed* as part of the operation of the
> WC> function
>
> I assume you are referring to the "oid indexes not complete:
> iso.2.840.10036.1.1" message. That is the OID received in the snmp request,
> and
> it is indeed incomplete. It is the table OID, with no indexes. Nothing in that
> debug message indicates that this is any sort of error.
>
> The only reason you aren"t getting data is that you haven"t inserted any into
> the table. The "default" row is internal data for the helper, not an actual
> row
> presented to the public.
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://productguide.itmanagersjournal.com/
_______________________________________________
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