Skip to content

Commit

Permalink
[nes]: STP changes ...
Browse files Browse the repository at this point in the history
  • Loading branch information
nes-repo committed Jun 11, 2015
1 parent 288c53e commit af97ff3
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 17 deletions.
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
<p align="center" >
<a href="https://plus.google.com/105236054684418980818" rel="publisher">
<a href="https://google.com/+NES-Open-Switch" rel="publisher">
<img src="https://lh3.googleusercontent.com/-BG0WKlNqXzc/VI4W7Q2s8cI/AAAAAAAAAUM/al7oMaYej0I/s256-no/nes-open-switch-2.png" alt="NES Open Switch" title="NES Open Switch">
</a><br>
<a href="https://plus.google.com/105236054684418980818" rel="publisher">Home page</a>
<a href="https://google.com/+NES-Open-Switch" rel="publisher">Home page</a>
</p>

<hr>

<a href="https://plus.google.com/+NES-Dev?rel=author" rel="author"></a>
<a href="https://plus.google.com/105236054684418980818?rel=publisher" rel="publisher"></a>
<a href="https://google.com/+NES-Dev?rel=author" rel="author"></a>
<a href="https://google.com/+NES-Open-Switch?rel=publisher" rel="publisher"></a>
Copyright (c) 2008-2015
NES &lt;nes.open.switch@gmail.com&gt;
NES Dev &lt;nes.open.switch@gmail.com&gt;

NES Open Switch
===============
Expand Down
33 changes: 25 additions & 8 deletions stp/ieee8021SpanningTreeMib.c
Original file line number Diff line number Diff line change
Expand Up @@ -1370,6 +1370,7 @@ ieee8021SpanningTreePortExtensionTable_mapper (
netsnmp_request_info *request;
netsnmp_table_request_info *table_info;
ieee8021SpanningTreePortExtensionEntry_t *table_entry;
register ieee8021SpanningTreePortEntry_t *poEntry = NULL;
void *pvOldDdata = NULL;
int ret;

Expand All @@ -1381,13 +1382,14 @@ ieee8021SpanningTreePortExtensionTable_mapper (
case MODE_GET:
for (request = requests; request != NULL; request = request->next)
{
table_entry = (ieee8021SpanningTreePortExtensionEntry_t*) netsnmp_extract_iterator_context (request);
poEntry = (ieee8021SpanningTreePortEntry_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->oExtension;

switch (table_info->colnum)
{
Expand All @@ -1414,8 +1416,9 @@ ieee8021SpanningTreePortExtensionTable_mapper (
case MODE_SET_RESERVE1:
for (request = requests; request != NULL; request = request->next)
{
table_entry = (ieee8021SpanningTreePortExtensionEntry_t*) netsnmp_extract_iterator_context (request);
poEntry = (ieee8021SpanningTreePortEntry_t*) netsnmp_extract_iterator_context (request);
table_info = netsnmp_extract_table_info (request);
table_entry = &poEntry->oExtension;

switch (table_info->colnum)
{
Expand Down Expand Up @@ -1446,13 +1449,25 @@ ieee8021SpanningTreePortExtensionTable_mapper (
case MODE_SET_RESERVE2:
for (request = requests; request != NULL; request = request->next)
{
table_entry = (ieee8021SpanningTreePortExtensionEntry_t*) netsnmp_extract_iterator_context (request);
poEntry = (ieee8021SpanningTreePortEntry_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;
}

switch (table_info->colnum)
{
case IEEE8021SPANNINGTREEPORTRSTPAUTOEDGEPORT:
case IEEE8021SPANNINGTREEPORTRSTPAUTOISOLATEPORT:
if (poEntry->u8RowStatus == xRowStatus_active_c || poEntry->u8RowStatus == xRowStatus_notReady_c)
{
netsnmp_set_request_error (reqinfo, request, SNMP_ERR_RESOURCEUNAVAILABLE);
return SNMP_ERR_NOERROR;
}
break;
}
}
break;

Expand All @@ -1463,8 +1478,9 @@ ieee8021SpanningTreePortExtensionTable_mapper (
for (request = requests; request != NULL; request = request->next)
{
pvOldDdata = netsnmp_request_get_list_data (request, ROLLBACK_BUFFER);
table_entry = (ieee8021SpanningTreePortExtensionEntry_t*) netsnmp_extract_iterator_context (request);
poEntry = (ieee8021SpanningTreePortEntry_t*) netsnmp_extract_iterator_context (request);
table_info = netsnmp_extract_table_info (request);
table_entry = &poEntry->oExtension;

switch (table_info->colnum)
{
Expand Down Expand Up @@ -1504,12 +1520,13 @@ ieee8021SpanningTreePortExtensionTable_mapper (
for (request = requests; request != NULL; request = request->next)
{
pvOldDdata = netsnmp_request_get_list_data (request, ROLLBACK_BUFFER);
table_entry = (ieee8021SpanningTreePortExtensionEntry_t*) netsnmp_extract_iterator_context (request);
poEntry = (ieee8021SpanningTreePortEntry_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->oExtension;

switch (table_info->colnum)
{
Expand Down
9 changes: 5 additions & 4 deletions stp/ieee8021SpanningTreeMib.h
Original file line number Diff line number Diff line change
Expand Up @@ -164,18 +164,18 @@ enum
typedef struct ieee8021SpanningTreePortExtensionEntry_t
{
/* Index values */
uint32_t u32ComponentId;
uint32_t u32Port;
// uint32_t u32ComponentId;
// uint32_t u32Port;

/* Column values */
uint8_t u8AutoEdgePort;
uint8_t u8AutoIsolatePort;
uint8_t u8IsolatePort;

xBTree_Node_t oBTreeNode;
// xBTree_Node_t oBTreeNode;
} ieee8021SpanningTreePortExtensionEntry_t;

extern xBTree_t oIeee8021SpanningTreePortExtensionTable_BTree;
// extern xBTree_t oIeee8021SpanningTreePortExtensionTable_BTree;

/* ieee8021SpanningTreePortExtensionTable table mapper */
void ieee8021SpanningTreePortExtensionTable_init (void);
Expand Down Expand Up @@ -291,6 +291,7 @@ ieee8021SpanningTreePortEntry_t * ieee8021SpanningTreePortTable_getByIndex (
ieee8021SpanningTreePortEntry_t * ieee8021SpanningTreePortTable_getNextIndex (
uint32_t u32ComponentId,
uint32_t u32Port);
#define ieee8021SpanningTreePortTable_getByExtensionEntry(poEntry) ((poEntry) == NULL ? NULL: xGetParentByMemberPtr ((poEntry), ieee8021SpanningTreePortEntry_t, oExtension))
void ieee8021SpanningTreePortTable_removeEntry (ieee8021SpanningTreePortEntry_t *poEntry);
bool ieee8021StpPortRowStatus_handler (
ieee8021SpanningTreePortEntry_t *poEntry, uint8_t u8RowStatus);
Expand Down

0 comments on commit af97ff3

Please sign in to comment.