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

Reply via email to