Skip to content

Commit

Permalink
[nes]: GMPLS changes ...
Browse files Browse the repository at this point in the history
  • Loading branch information
nes-repo committed Aug 12, 2015
1 parent 51fd467 commit 1d5df5d
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 58 deletions.
77 changes: 23 additions & 54 deletions mpls/mplsLsrStdMIB.c
Original file line number Diff line number Diff line change
Expand Up @@ -4118,7 +4118,7 @@ gmplsInSegmentTable_getNext (
poEntry = xBTree_entry (*my_loop_context, mplsInSegmentEntry_t, oBTreeNode);

snmp_set_var_value (idx, poEntry->au8Index, poEntry->u16Index_len);
*my_data_context = (void*) &poEntry->oG;
*my_data_context = (void*) poEntry;
*my_loop_context = (void*) xBTree_nodeGetNext (&poEntry->oBTreeNode, &oMplsInSegmentTable_BTree);
return put_index_data;
}
Expand All @@ -4138,7 +4138,7 @@ gmplsInSegmentTable_get (
return false;
}

*my_data_context = (void*) &poEntry->oG;
*my_data_context = (void*) poEntry;
return true;
}

Expand All @@ -4153,6 +4153,7 @@ gmplsInSegmentTable_mapper (
netsnmp_request_info *request;
netsnmp_table_request_info *table_info;
gmplsInSegmentEntry_t *table_entry;
register mplsInSegmentEntry_t *poEntry = NULL;
void *pvOldDdata = NULL;
int ret;

Expand All @@ -4164,13 +4165,14 @@ gmplsInSegmentTable_mapper (
case MODE_GET:
for (request = requests; request != NULL; request = request->next)
{
table_entry = (gmplsInSegmentEntry_t*) netsnmp_extract_iterator_context (request);
poEntry = (mplsInSegmentEntry_t*) netsnmp_extract_iterator_context (request);
table_info = netsnmp_extract_table_info (request);
if (table_entry == NULL)
if (poEntry == NULL)
{
netsnmp_set_request_error (reqinfo, request, SNMP_NOSUCHINSTANCE);
continue;
}
table_entry = &poEntry->oG;

switch (table_info->colnum)
{
Expand All @@ -4194,8 +4196,9 @@ gmplsInSegmentTable_mapper (
case MODE_SET_RESERVE1:
for (request = requests; request != NULL; request = request->next)
{
table_entry = (gmplsInSegmentEntry_t*) netsnmp_extract_iterator_context (request);
poEntry = (mplsInSegmentEntry_t*) netsnmp_extract_iterator_context (request);
table_info = netsnmp_extract_table_info (request);
table_entry = &poEntry->oG;

switch (table_info->colnum)
{
Expand Down Expand Up @@ -4226,74 +4229,39 @@ gmplsInSegmentTable_mapper (
case MODE_SET_RESERVE2:
for (request = requests; request != NULL; request = request->next)
{
table_entry = (gmplsInSegmentEntry_t*) netsnmp_extract_iterator_context (request);
poEntry = (mplsInSegmentEntry_t*) netsnmp_extract_iterator_context (request);
table_info = netsnmp_extract_table_info (request);
register netsnmp_variable_list *idx1 = table_info->indexes;
if (poEntry == NULL)
{
netsnmp_set_request_error (reqinfo, request, SNMP_NOSUCHINSTANCE);
continue;
}
table_entry = &poEntry->oG;

switch (table_info->colnum)
{
case GMPLSINSEGMENTDIRECTION:
case GMPLSINSEGMENTEXTRAPARAMSPTR:
if (table_entry == NULL)
{
if (/* TODO */ TOBE_REPLACED != TOBE_REPLACED)
{
netsnmp_set_request_error (reqinfo, request, SNMP_ERR_INCONSISTENTVALUE);
return SNMP_ERR_NOERROR;
}

table_entry = gmplsInSegmentTable_createEntry (
(void*) idx1->val.string, idx1->val_len);
if (table_entry != NULL)
{
netsnmp_insert_iterator_context (request, table_entry);
netsnmp_request_add_list_data (request, netsnmp_create_data_list (ROLLBACK_BUFFER, table_entry, &xBuffer_free));
}
else
{
netsnmp_set_request_error (reqinfo, request, SNMP_ERR_RESOURCEUNAVAILABLE);
return SNMP_ERR_NOERROR;
}
}
break;
default:
if (table_entry == NULL)
if (poEntry->u8RowStatus == xRowStatus_active_c || poEntry->u8RowStatus == xRowStatus_notReady_c)
{
netsnmp_set_request_error (reqinfo, request, SNMP_NOSUCHINSTANCE);
netsnmp_set_request_error (reqinfo, request, SNMP_ERR_RESOURCEUNAVAILABLE);
return SNMP_ERR_NOERROR;
}
break;
}
}
break;

case MODE_SET_FREE:
for (request = requests; request != NULL; request = request->next)
{
pvOldDdata = netsnmp_request_get_list_data (request, ROLLBACK_BUFFER);
table_entry = (gmplsInSegmentEntry_t*) netsnmp_extract_iterator_context (request);
table_info = netsnmp_extract_table_info (request);
if (table_entry == NULL || pvOldDdata == NULL)
{
continue;
}

switch (table_info->colnum)
{
case GMPLSINSEGMENTDIRECTION:
case GMPLSINSEGMENTEXTRAPARAMSPTR:
gmplsInSegmentTable_removeEntry (table_entry);
netsnmp_request_remove_list_entry (request, ROLLBACK_BUFFER);
break;
}
}
break;

case MODE_SET_ACTION:
for (request = requests; request != NULL; request = request->next)
{
pvOldDdata = netsnmp_request_get_list_data (request, ROLLBACK_BUFFER);
table_entry = (gmplsInSegmentEntry_t*) netsnmp_extract_iterator_context (request);
poEntry = (mplsInSegmentEntry_t*) netsnmp_extract_iterator_context (request);
table_info = netsnmp_extract_table_info (request);
table_entry = &poEntry->oG;

switch (table_info->colnum)
{
Expand Down Expand Up @@ -4337,12 +4305,13 @@ gmplsInSegmentTable_mapper (
for (request = requests; request != NULL; request = request->next)
{
pvOldDdata = netsnmp_request_get_list_data (request, ROLLBACK_BUFFER);
table_entry = (gmplsInSegmentEntry_t*) netsnmp_extract_iterator_context (request);
poEntry = (mplsInSegmentEntry_t*) netsnmp_extract_iterator_context (request);
table_info = netsnmp_extract_table_info (request);
if (table_entry == NULL || pvOldDdata == NULL)
if (poEntry == NULL || pvOldDdata == NULL)
{
continue;
}
table_entry = &poEntry->oG;

switch (table_info->colnum)
{
Expand Down
8 changes: 4 additions & 4 deletions mpls/mplsLsrStdMIB.h
Original file line number Diff line number Diff line change
Expand Up @@ -358,18 +358,18 @@ enum
typedef struct gmplsInSegmentEntry_t
{
/* Index values */
uint8_t au8Index[24];
size_t u16Index_len; /* # of uint8_t elements */
// uint8_t au8Index[24];
// size_t u16Index_len; /* # of uint8_t elements */

/* Column values */
int32_t i32Direction;
xOid_t aoExtraParamsPtr[128];
size_t u16ExtraParamsPtr_len; /* # of xOid_t elements */

xBTree_Node_t oBTreeNode;
// xBTree_Node_t oBTreeNode;
} gmplsInSegmentEntry_t;

extern xBTree_t oGmplsInSegmentTable_BTree;
// extern xBTree_t oGmplsInSegmentTable_BTree;

/* gmplsInSegmentTable table mapper */
void gmplsInSegmentTable_init (void);
Expand Down

0 comments on commit 1d5df5d

Please sign in to comment.