Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
W
White Rabbit Switch - Software
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
86
Issues
86
List
Board
Labels
Milestones
Merge Requests
4
Merge Requests
4
CI / CD
CI / CD
Pipelines
Schedules
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
White Rabbit Switch - Software
Commits
71c8c3cd
Commit
71c8c3cd
authored
Oct 15, 2020
by
Michal Wasiak
Committed by
Adam Wujek
Oct 29, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
snmp/bridge_mib: update dot1qVlanStaticTable
Signed-off-by:
Michal Wasiak
<
michal.wasiak@gmail.com
>
parent
e694ef3f
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
123 additions
and
284 deletions
+123
-284
Makefile
userspace/snmpd/bridge_mib/Makefile
+1
-0
Makefile
userspace/snmpd/bridge_mib/dot1qVlanStaticTable/Makefile
+6
-0
dot1qVlanStaticTable_data_access.c
...b/dot1qVlanStaticTable/dot1qVlanStaticTable_data_access.c
+114
-199
dot1qVlanStaticTable_data_get.c
..._mib/dot1qVlanStaticTable/dot1qVlanStaticTable_data_get.c
+0
-80
dot1qVlanStaticTable_data_get.h
..._mib/dot1qVlanStaticTable/dot1qVlanStaticTable_data_get.h
+0
-5
init_bridge_mib.c
userspace/snmpd/bridge_mib/init_bridge_mib.c
+2
-0
No files found.
userspace/snmpd/bridge_mib/Makefile
View file @
71c8c3cd
...
...
@@ -7,6 +7,7 @@ BRIDGE_DIRS= \
dot1qFdbTable
\
dot1qPortVlanTable
\
dot1qTpFdbTable
\
dot1qVlanStaticTable
\
BRIDGE_INCLUDE_DIRS
:=
$
(
addsuffix /Makefile,
$(BRIDGE_DIRS)
)
BRIDGE_INCLUDE_DIRS
:=
$
(
addprefix
$(BRIDGE_MIB_DIR)
/,
$(BRIDGE_INCLUDE_DIRS)
)
...
...
userspace/snmpd/bridge_mib/dot1qVlanStaticTable/Makefile
0 → 100644
View file @
71c8c3cd
BRIDGE_MIB_SRCS
+=
\
dot1qVlanStaticTable/dot1qVlanStaticTable.c
\
dot1qVlanStaticTable/dot1qVlanStaticTable_data_get.c
\
dot1qVlanStaticTable/dot1qVlanStaticTable_data_set.c
\
dot1qVlanStaticTable/dot1qVlanStaticTable_data_access.c
\
dot1qVlanStaticTable/dot1qVlanStaticTable_interface.c
userspace/snmpd/bridge_mib/dot1qVlanStaticTable/dot1qVlanStaticTable_data_access.c
View file @
71c8c3cd
...
...
@@ -10,6 +10,9 @@
#include <net-snmp/net-snmp-includes.h>
#include <net-snmp/agent/net-snmp-agent-includes.h>
#include "wrsSnmp.h"
#include "snmp_shmem.h"
/* include our parent header */
#include "dot1qVlanStaticTable.h"
...
...
@@ -206,79 +209,46 @@ dot1qVlanStaticTable_container_load(netsnmp_container *container)
{
dot1qVlanStaticTable_rowreq_ctx
*
rowreq_ctx
;
size_t
count
=
0
;
struct
rtu_vlan_table_entry
vlan_tab_local
[
NUM_VLANS
];
struct
rtu_port_entry
ports_tab_local
[
HAL_MAX_PORTS
];
int
rtu_nports_local
;
uint32_t
untag_mask
=
0
;
/*
* temporary storage for index values
*/
/*
* dot1qVlanIndex(2)/VlanIndex/ASN_UNSIGNED/u_long(u_long)//l/a/w/e/r/d/H
*/
u_long
dot1qVlanIndex
;
/*
* this example code is based on a data source that is a
* text file to be read and parsed.
*/
FILE
*
filep
;
char
line
[
MAX_LINE_SIZE
];
int
vlan_i
;
int
port_i
;
DEBUGMSGTL
((
"verbose:dot1qVlanStaticTable:dot1qVlanStaticTable_container_load"
,
"called
\n
"
));
/*
***************************************************
*** START EXAMPLE CODE ***
***---------------------------------------------***/
/*
* open our data file.
*/
filep
=
fopen
(
"/etc/dummy.conf"
,
"r"
);
if
(
NULL
==
filep
)
{
return
MFD_RESOURCE_UNAVAILABLE
;
if
(
0
!=
shmem_rtu_read_vlans
(
vlan_tab_local
))
{
snmp_log
(
LOG_ERR
,
"unable to get vlans info from RTU
\n
"
);
return
MFD_RESOURCE_UNAVAILABLE
;
}
if
(
shmem_rtu_read_ports
(
ports_tab_local
,
&
rtu_nports_local
))
{
snmp_log
(
LOG_ERR
,
"unable to get ports info from RTU
\n
"
);
return
MFD_RESOURCE_UNAVAILABLE
;
}
/* build a mask of untagged ports (needed for dot1qVlanStaticUntaggedPorts) */
for
(
port_i
=
rtu_nports_local
-
1
;
port_i
>=
0
;
port_i
--
){
untag_mask
<<=
1
;
untag_mask
|=
ports_tab_local
[
port_i
].
untag
&
1
;
}
/*
***---------------------------------------------***
*** END EXAMPLE CODE ***
***************************************************/
/*
* TODO:351:M: |-> Load/update data in the dot1qVlanStaticTable container.
* |-> Load/update data in the dot1qVlanStaticTable container.
* loop over your dot1qVlanStaticTable data, allocate a rowreq context,
* set the index(es) [and data, optionally] and insert into
* the container.
*/
while
(
1
)
{
/*
***************************************************
*** START EXAMPLE CODE ***
***---------------------------------------------***/
/*
* get a line (skip blank lines)
*/
do
{
if
(
!
fgets
(
line
,
sizeof
(
line
),
filep
))
{
/* we're done */
fclose
(
filep
);
filep
=
NULL
;
}
}
while
(
filep
&&
(
line
[
0
]
==
'\n'
));
for
(
vlan_i
=
0
;
vlan_i
<
NUM_VLANS
;
vlan_i
++
)
{
/* skip empty entires */
if
((
vlan_tab_local
[
vlan_i
].
drop
!=
0
)
&&
(
vlan_tab_local
[
vlan_i
].
port_mask
==
0x0
))
continue
;
/*
* check for end of data
*/
if
(
NULL
==
filep
)
break
;
/*
* parse line into variables
*/
/*
***---------------------------------------------***
*** END EXAMPLE CODE ***
***************************************************/
/*
*
TODO:352:M: |
|-> set indexes in new dot1qVlanStaticTable rowreq context.
* |-> set indexes in new dot1qVlanStaticTable rowreq context.
* data context will be set from the param (unless NULL,
* in which case a new data context will be allocated)
*/
...
...
@@ -287,9 +257,7 @@ dot1qVlanStaticTable_container_load(netsnmp_container *container)
snmp_log
(
LOG_ERR
,
"memory allocation failed
\n
"
);
return
MFD_RESOURCE_UNAVAILABLE
;
}
if
(
MFD_SUCCESS
!=
dot1qVlanStaticTable_indexes_set
(
rowreq_ctx
,
dot1qVlanIndex
))
{
if
(
MFD_SUCCESS
!=
dot1qVlanStaticTable_indexes_set
(
rowreq_ctx
,
vlan_i
))
{
snmp_log
(
LOG_ERR
,
"error setting index while loading "
"dot1qVlanStaticTable data.
\n
"
);
dot1qVlanStaticTable_release_rowreq_ctx
(
rowreq_ctx
);
...
...
@@ -297,151 +265,98 @@ dot1qVlanStaticTable_container_load(netsnmp_container *container)
}
/*
*
TODO:352:r: |
|-> populate dot1qVlanStaticTable data context.
* |-> populate dot1qVlanStaticTable data context.
* Populate data context here. (optionally, delay until row prep)
*/
/*
* TRANSIENT or semi-TRANSIENT data:
* copy data or save any info needed to do it in row_prep.
*/
/*
* setup/save data for dot1qVlanStaticName
* dot1qVlanStaticName(1)/SnmpAdminString/ASN_OCTET_STR/char(char)//L/A/W/e/R/d/H
*/
/*
* TODO:246:r: |-> Define dot1qVlanStaticName mapping.
* Map values between raw/native values and MIB values
*
* if(MFD_SUCCESS !=
* dot1qVlanStaticName_map(&rowreq_ctx->data.dot1qVlanStaticName, &rowreq_ctx->data.dot1qVlanStaticName_len,
* dot1qVlanStaticName, dot1qVlanStaticName_len, 0)) {
* return MFD_ERROR;
* }
*/
/*
* make sure there is enough space for dot1qVlanStaticName data
*/
if
((
NULL
==
rowreq_ctx
->
data
.
dot1qVlanStaticName
)
||
(
rowreq_ctx
->
data
.
dot1qVlanStaticName_len
<
(
dot1qVlanStaticName_len
*
sizeof
(
dot1qVlanStaticName
[
0
]))))
{
snmp_log
(
LOG_ERR
,
"not enough space for value (dot1qVlanStaticName)
\n
"
);
return
MFD_ERROR
;
}
rowreq_ctx
->
data
.
dot1qVlanStaticName_len
=
dot1qVlanStaticName_len
*
sizeof
(
dot1qVlanStaticName
[
0
]);
memcpy
(
rowreq_ctx
->
data
.
dot1qVlanStaticName
,
dot1qVlanStaticName
,
dot1qVlanStaticName_len
*
sizeof
(
dot1qVlanStaticName
[
0
])
);
/*
* setup/save data for dot1qVlanStaticEgressPorts
* dot1qVlanStaticEgressPorts(2)/PortList/ASN_OCTET_STR/char(char)//L/A/W/e/r/d/h
*/
/*
* TODO:246:r: |-> Define dot1qVlanStaticEgressPorts mapping.
* Map values between raw/native values and MIB values
*
* if(MFD_SUCCESS !=
* dot1qVlanStaticEgressPorts_map(&rowreq_ctx->data.dot1qVlanStaticEgressPorts, &rowreq_ctx->data.dot1qVlanStaticEgressPorts_len,
* dot1qVlanStaticEgressPorts, dot1qVlanStaticEgressPorts_len, 0)) {
* return MFD_ERROR;
* }
*/
/*
* make sure there is enough space for dot1qVlanStaticEgressPorts data
*/
if
((
NULL
==
rowreq_ctx
->
data
.
dot1qVlanStaticEgressPorts
)
||
(
rowreq_ctx
->
data
.
dot1qVlanStaticEgressPorts_len
<
(
dot1qVlanStaticEgressPorts_len
*
sizeof
(
dot1qVlanStaticEgressPorts
[
0
]))))
{
snmp_log
(
LOG_ERR
,
"not enough space for value (dot1qVlanStaticEgressPorts)
\n
"
);
return
MFD_ERROR
;
}
rowreq_ctx
->
data
.
dot1qVlanStaticEgressPorts_len
=
dot1qVlanStaticEgressPorts_len
*
sizeof
(
dot1qVlanStaticEgressPorts
[
0
]);
memcpy
(
rowreq_ctx
->
data
.
dot1qVlanStaticEgressPorts
,
dot1qVlanStaticEgressPorts
,
dot1qVlanStaticEgressPorts_len
*
sizeof
(
dot1qVlanStaticEgressPorts
[
0
])
);
/*
* setup/save data for dot1qVlanForbiddenEgressPorts
* dot1qVlanForbiddenEgressPorts(3)/PortList/ASN_OCTET_STR/char(char)//L/A/W/e/r/d/h
*/
/*
* TODO:246:r: |-> Define dot1qVlanForbiddenEgressPorts mapping.
* Map values between raw/native values and MIB values
*
* if(MFD_SUCCESS !=
* dot1qVlanForbiddenEgressPorts_map(&rowreq_ctx->data.dot1qVlanForbiddenEgressPorts, &rowreq_ctx->data.dot1qVlanForbiddenEgressPorts_len,
* dot1qVlanForbiddenEgressPorts, dot1qVlanForbiddenEgressPorts_len, 0)) {
* return MFD_ERROR;
* }
*/
/*
* make sure there is enough space for dot1qVlanForbiddenEgressPorts data
*/
if
((
NULL
==
rowreq_ctx
->
data
.
dot1qVlanForbiddenEgressPorts
)
||
(
rowreq_ctx
->
data
.
dot1qVlanForbiddenEgressPorts_len
<
(
dot1qVlanForbiddenEgressPorts_len
*
sizeof
(
dot1qVlanForbiddenEgressPorts
[
0
]))))
{
snmp_log
(
LOG_ERR
,
"not enough space for value (dot1qVlanForbiddenEgressPorts)
\n
"
);
return
MFD_ERROR
;
}
rowreq_ctx
->
data
.
dot1qVlanForbiddenEgressPorts_len
=
dot1qVlanForbiddenEgressPorts_len
*
sizeof
(
dot1qVlanForbiddenEgressPorts
[
0
]);
memcpy
(
rowreq_ctx
->
data
.
dot1qVlanForbiddenEgressPorts
,
dot1qVlanForbiddenEgressPorts
,
dot1qVlanForbiddenEgressPorts_len
*
sizeof
(
dot1qVlanForbiddenEgressPorts
[
0
])
);
/*
* setup/save data for dot1qVlanStaticUntaggedPorts
* dot1qVlanStaticUntaggedPorts(4)/PortList/ASN_OCTET_STR/char(char)//L/A/W/e/r/d/h
*/
/*
* TODO:246:r: |-> Define dot1qVlanStaticUntaggedPorts mapping.
* Map values between raw/native values and MIB values
*
* if(MFD_SUCCESS !=
* dot1qVlanStaticUntaggedPorts_map(&rowreq_ctx->data.dot1qVlanStaticUntaggedPorts, &rowreq_ctx->data.dot1qVlanStaticUntaggedPorts_len,
* dot1qVlanStaticUntaggedPorts, dot1qVlanStaticUntaggedPorts_len, 0)) {
* return MFD_ERROR;
* }
*/
/*
* make sure there is enough space for dot1qVlanStaticUntaggedPorts data
*/
if
((
NULL
==
rowreq_ctx
->
data
.
dot1qVlanStaticUntaggedPorts
)
||
(
rowreq_ctx
->
data
.
dot1qVlanStaticUntaggedPorts_len
<
(
dot1qVlanStaticUntaggedPorts_len
*
sizeof
(
dot1qVlanStaticUntaggedPorts
[
0
]))))
{
snmp_log
(
LOG_ERR
,
"not enough space for value (dot1qVlanStaticUntaggedPorts)
\n
"
);
return
MFD_ERROR
;
}
rowreq_ctx
->
data
.
dot1qVlanStaticUntaggedPorts_len
=
dot1qVlanStaticUntaggedPorts_len
*
sizeof
(
dot1qVlanStaticUntaggedPorts
[
0
]);
memcpy
(
rowreq_ctx
->
data
.
dot1qVlanStaticUntaggedPorts
,
dot1qVlanStaticUntaggedPorts
,
dot1qVlanStaticUntaggedPorts_len
*
sizeof
(
dot1qVlanStaticUntaggedPorts
[
0
])
);
/*
* setup/save data for dot1qVlanStaticRowStatus
* dot1qVlanStaticRowStatus(5)/RowStatus/ASN_INTEGER/long(u_long)//l/A/W/E/r/d/h
*/
/*
* TODO:246:r: |-> Define dot1qVlanStaticRowStatus mapping.
* Map values between raw/native values and MIB values
*
* enums usually need mapping.
*/
if
(
MFD_SUCCESS
!=
dot1qVlanStaticRowStatus_map
(
&
rowreq_ctx
->
data
.
dot1qVlanStaticRowStatus
,
dot1qVlanStaticRowStatus
))
{
return
MFD_ERROR
;
}
/*
/*
* setup/save data for dot1qVlanStaticName
* dot1qVlanStaticName(1)/SnmpAdminString/ASN_OCTET_STR/char(char)//L/A/W/e/R/d/H
*/
if
(
NULL
==
rowreq_ctx
->
data
.
dot1qVlanStaticName
)
{
snmp_log
(
LOG_ERR
,
"not enough space for value (dot1qVlanStaticName)
\n
"
);
return
MFD_ERROR
;
}
rowreq_ctx
->
data
.
dot1qVlanStaticName_len
=
snprintf
(
rowreq_ctx
->
data
.
dot1qVlanStaticName
,
32
,
"VLAN%d"
,
vlan_i
);
/*
* setup/save data for dot1qVlanStaticEgressPorts
* dot1qVlanStaticEgressPorts(2)/PortList/ASN_OCTET_STR/char(char)//L/A/W/e/r/d/h
*/
/*
* |-> Define dot1qVlanStaticEgressPorts mapping.
*/
/*
* make sure there is enough space for dot1qVlanStaticEgressPorts data
*/
if
(
NULL
==
rowreq_ctx
->
data
.
dot1qVlanStaticEgressPorts
)
{
snmp_log
(
LOG_ERR
,
"not enough space for value (dot1qVlanStaticEgressPorts)
\n
"
);
return
MFD_ERROR
;
}
convert_portmask_to_snmp_bitmask
(
hal_nports_local
,
vlan_tab_local
[
vlan_i
].
port_mask
&
RTU_PMASK_MAX
(
hal_nports_local
),
rowreq_ctx
->
data
.
dot1qVlanStaticEgressPorts
,
&
rowreq_ctx
->
data
.
dot1qVlanStaticEgressPorts_len
);
/*
* setup/save data for dot1qVlanForbiddenEgressPorts
* dot1qVlanForbiddenEgressPorts(3)/PortList/ASN_OCTET_STR/char(char)//L/A/W/e/r/d/h
*/
/*
* |-> Define dot1qVlanForbiddenEgressPorts mapping.
*/
/*
* make sure there is enough space for dot1qVlanForbiddenEgressPorts data
*/
if
(
NULL
==
rowreq_ctx
->
data
.
dot1qVlanForbiddenEgressPorts
)
{
snmp_log
(
LOG_ERR
,
"not enough space for value (dot1qVlanForbiddenEgressPorts)
\n
"
);
return
MFD_ERROR
;
}
/* use the same lenght of a mast as above (rowreq_ctx->data.dot1qVlanForbiddenEgressPorts_len) */
rowreq_ctx
->
data
.
dot1qVlanForbiddenEgressPorts_len
=
rowreq_ctx
->
data
.
dot1qVlanStaticEgressPorts_len
;
/* clear mask */
memset
(
rowreq_ctx
->
data
.
dot1qVlanForbiddenEgressPorts
,
0
,
rowreq_ctx
->
data
.
dot1qVlanForbiddenEgressPorts_len
);
/*
* setup/save data for dot1qVlanStaticUntaggedPorts
* dot1qVlanStaticUntaggedPorts(4)/PortList/ASN_OCTET_STR/char(char)//L/A/W/e/r/d/h
*/
/*
* |-> Define dot1qVlanStaticUntaggedPorts mapping.
* Map values between raw/native values and MIB values
*/
/*
* make sure there is enough space for dot1qVlanStaticUntaggedPorts data
*/
if
(
NULL
==
rowreq_ctx
->
data
.
dot1qVlanStaticUntaggedPorts
)
{
snmp_log
(
LOG_ERR
,
"not enough space for value (dot1qVlanStaticUntaggedPorts)
\n
"
);
return
MFD_ERROR
;
}
convert_portmask_to_snmp_bitmask
(
hal_nports_local
,
vlan_tab_local
[
vlan_i
].
port_mask
&
untag_mask
,
rowreq_ctx
->
data
.
dot1qVlanStaticUntaggedPorts
,
&
rowreq_ctx
->
data
.
dot1qVlanStaticUntaggedPorts_len
);
/*
* setup/save data for dot1qVlanStaticRowStatus
* dot1qVlanStaticRowStatus(5)/RowStatus/ASN_INTEGER/long(u_long)//l/A/W/E/r/d/h
*/
/*
* |-> Define dot1qVlanStaticRowStatus mapping.
* Map values between raw/native values and MIB values
*
* hardcode to active(1)
*/
rowreq_ctx
->
data
.
dot1qVlanStaticRowStatus
=
ROWSTATUS_ACTIVE
;
/*
* insert into table container
*/
CONTAINER_INSERT
(
container
,
rowreq_ctx
);
++
count
;
}
/*
***************************************************
*** START EXAMPLE CODE ***
***---------------------------------------------***/
if
(
NULL
!=
filep
)
fclose
(
filep
);
/*
***---------------------------------------------***
*** END EXAMPLE CODE ***
***************************************************/
DEBUGMSGT
((
"verbose:dot1qVlanStaticTable:dot1qVlanStaticTable_container_load"
,
"inserted %d records
\n
"
,
count
));
...
...
userspace/snmpd/bridge_mib/dot1qVlanStaticTable/dot1qVlanStaticTable_data_get.c
View file @
71c8c3cd
...
...
@@ -466,86 +466,6 @@ dot1qVlanStaticUntaggedPorts_get( dot1qVlanStaticTable_rowreq_ctx *rowreq_ctx, c
return
MFD_SUCCESS
;
}
/* dot1qVlanStaticUntaggedPorts_get */
/*---------------------------------------------------------------------
* Q-BRIDGE-MIB::dot1qVlanStaticEntry.dot1qVlanStaticRowStatus
* dot1qVlanStaticRowStatus is subid 5 of dot1qVlanStaticEntry.
* Its status is Current, and its access level is Create.
* OID: .1.3.6.1.2.1.17.7.1.4.3.1.5
* Description:
This object indicates the status of this entry.
*
* Attributes:
* accessible 1 isscalar 0 enums 1 hasdefval 0
* readable 1 iscolumn 1 ranges 0 hashint 0
* settable 1
*
* Enum range: 4/8. Values: active(1), notInService(2), notReady(3), createAndGo(4), createAndWait(5), destroy(6)
*
* Its syntax is RowStatus (based on perltype INTEGER)
* The net-snmp type is ASN_INTEGER. The C type decl is long (u_long)
*/
/**
* map a value from its original native format to the MIB format.
*
* @retval MFD_SUCCESS : success
* @retval MFD_ERROR : Any other error
*
* @note parameters follow the memset convention (dest, src).
*
* @note generation and use of this function can be turned off by re-running
* mib2c after adding the following line to the file
* defaults/node-dot1qVlanStaticRowStatus.m2d :
* @eval $m2c_node_skip_mapping = 1@
*
* @remark
* If the values for your data type don't exactly match the
* possible values defined by the mib, you should map them here.
* Otherwise, just do a direct copy.
*/
int
dot1qVlanStaticRowStatus_map
(
u_long
*
mib_dot1qVlanStaticRowStatus_val_ptr
,
u_long
raw_dot1qVlanStaticRowStatus_val
)
{
netsnmp_assert
(
NULL
!=
mib_dot1qVlanStaticRowStatus_val_ptr
);
DEBUGMSGTL
((
"verbose:dot1qVlanStaticTable:dot1qVlanStaticRowStatus_map"
,
"called
\n
"
));
/*
* TODO:241:o: |-> Implement dot1qVlanStaticRowStatus enum mapping.
* uses INTERNAL_* macros defined in the header files
*/
switch
(
raw_dot1qVlanStaticRowStatus_val
)
{
case
INTERNAL_DOT1QVLANSTATICTABLE_DOT1QVLANSTATICROWSTATUS_ACTIVE
:
*
mib_dot1qVlanStaticRowStatus_val_ptr
=
ROWSTATUS_ACTIVE
;
break
;
case
INTERNAL_DOT1QVLANSTATICTABLE_DOT1QVLANSTATICROWSTATUS_NOTINSERVICE
:
*
mib_dot1qVlanStaticRowStatus_val_ptr
=
ROWSTATUS_NOTINSERVICE
;
break
;
case
INTERNAL_DOT1QVLANSTATICTABLE_DOT1QVLANSTATICROWSTATUS_NOTREADY
:
*
mib_dot1qVlanStaticRowStatus_val_ptr
=
ROWSTATUS_NOTREADY
;
break
;
case
INTERNAL_DOT1QVLANSTATICTABLE_DOT1QVLANSTATICROWSTATUS_CREATEANDGO
:
*
mib_dot1qVlanStaticRowStatus_val_ptr
=
ROWSTATUS_CREATEANDGO
;
break
;
case
INTERNAL_DOT1QVLANSTATICTABLE_DOT1QVLANSTATICROWSTATUS_CREATEANDWAIT
:
*
mib_dot1qVlanStaticRowStatus_val_ptr
=
ROWSTATUS_CREATEANDWAIT
;
break
;
case
INTERNAL_DOT1QVLANSTATICTABLE_DOT1QVLANSTATICROWSTATUS_DESTROY
:
*
mib_dot1qVlanStaticRowStatus_val_ptr
=
ROWSTATUS_DESTROY
;
break
;
default:
snmp_log
(
LOG_ERR
,
"couldn't map value %ld for dot1qVlanStaticRowStatus
\n
"
,
raw_dot1qVlanStaticRowStatus_val
);
return
MFD_ERROR
;
}
return
MFD_SUCCESS
;
}
/* dot1qVlanStaticRowStatus_map */
/**
* Extract the current value of the dot1qVlanStaticRowStatus data.
*
...
...
userspace/snmpd/bridge_mib/dot1qVlanStaticTable/dot1qVlanStaticTable_data_get.h
View file @
71c8c3cd
...
...
@@ -43,15 +43,10 @@ extern "C" {
*/
int
dot1qVlanIndex_map
(
u_long
*
mib_dot1qVlanIndex_val_ptr
,
u_long
raw_dot1qVlanIndex_val
);
int
dot1qVlanStaticName_map
(
char
**
mib_dot1qVlanStaticName_val_ptr_ptr
,
size_t
*
mib_dot1qVlanStaticName_val_ptr_len_ptr
,
char
*
raw_dot1qVlanStaticName_val_ptr
,
size_t
raw_dot1qVlanStaticName_val_ptr_len
,
int
allow_realloc
);
int
dot1qVlanStaticName_get
(
dot1qVlanStaticTable_rowreq_ctx
*
rowreq_ctx
,
char
**
dot1qVlanStaticName_val_ptr_ptr
,
size_t
*
dot1qVlanStaticName_val_ptr_len_ptr
);
int
dot1qVlanStaticEgressPorts_map
(
char
**
mib_dot1qVlanStaticEgressPorts_val_ptr_ptr
,
size_t
*
mib_dot1qVlanStaticEgressPorts_val_ptr_len_ptr
,
char
*
raw_dot1qVlanStaticEgressPorts_val_ptr
,
size_t
raw_dot1qVlanStaticEgressPorts_val_ptr_len
,
int
allow_realloc
);
int
dot1qVlanStaticEgressPorts_get
(
dot1qVlanStaticTable_rowreq_ctx
*
rowreq_ctx
,
char
**
dot1qVlanStaticEgressPorts_val_ptr_ptr
,
size_t
*
dot1qVlanStaticEgressPorts_val_ptr_len_ptr
);
int
dot1qVlanForbiddenEgressPorts_map
(
char
**
mib_dot1qVlanForbiddenEgressPorts_val_ptr_ptr
,
size_t
*
mib_dot1qVlanForbiddenEgressPorts_val_ptr_len_ptr
,
char
*
raw_dot1qVlanForbiddenEgressPorts_val_ptr
,
size_t
raw_dot1qVlanForbiddenEgressPorts_val_ptr_len
,
int
allow_realloc
);
int
dot1qVlanForbiddenEgressPorts_get
(
dot1qVlanStaticTable_rowreq_ctx
*
rowreq_ctx
,
char
**
dot1qVlanForbiddenEgressPorts_val_ptr_ptr
,
size_t
*
dot1qVlanForbiddenEgressPorts_val_ptr_len_ptr
);
int
dot1qVlanStaticUntaggedPorts_map
(
char
**
mib_dot1qVlanStaticUntaggedPorts_val_ptr_ptr
,
size_t
*
mib_dot1qVlanStaticUntaggedPorts_val_ptr_len_ptr
,
char
*
raw_dot1qVlanStaticUntaggedPorts_val_ptr
,
size_t
raw_dot1qVlanStaticUntaggedPorts_val_ptr_len
,
int
allow_realloc
);
int
dot1qVlanStaticUntaggedPorts_get
(
dot1qVlanStaticTable_rowreq_ctx
*
rowreq_ctx
,
char
**
dot1qVlanStaticUntaggedPorts_val_ptr_ptr
,
size_t
*
dot1qVlanStaticUntaggedPorts_val_ptr_len_ptr
);
int
dot1qVlanStaticRowStatus_map
(
u_long
*
mib_dot1qVlanStaticRowStatus_val_ptr
,
u_long
raw_dot1qVlanStaticRowStatus_val
);
int
dot1qVlanStaticRowStatus_get
(
dot1qVlanStaticTable_rowreq_ctx
*
rowreq_ctx
,
u_long
*
dot1qVlanStaticRowStatus_val_ptr
);
...
...
userspace/snmpd/bridge_mib/init_bridge_mib.c
View file @
71c8c3cd
...
...
@@ -16,6 +16,7 @@
#include "dot1qFdbTable/dot1qFdbTable.h"
#include "dot1qPortVlanTable/dot1qPortVlanTable.h"
#include "dot1qTpFdbTable/dot1qTpFdbTable.h"
#include "dot1qVlanStaticTable/dot1qVlanStaticTable.h"
void
init_bridge_mib
(
void
)
{
...
...
@@ -27,4 +28,5 @@ void init_bridge_mib(void)
init_dot1qFdbTable
();
init_dot1qPortVlanTable
();
init_dot1qTpFdbTable
();
init_dot1qVlanStaticTable
();
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment