├── .gitignore
├── src
├── snmp
│ ├── .gitignore
│ ├── generate
│ ├── .indent.pro
│ ├── ieee8021.h
│ ├── struct.h
│ ├── ds_agent.h
│ ├── header_complex.h
│ ├── makestubs
│ ├── lldpV2TcMIB.h
│ ├── ieee8021TcMib.h
│ ├── util_funcs.h
│ ├── ieee8021CfmV2Mib.h
│ ├── mib2c.vartypes.conf
│ ├── ptopoMIB.h
│ ├── ieee8021FqtssMib.h
│ ├── mib2c.conf
│ ├── lldpXDot1EvbExtensions.h
│ ├── ieee8021EcmpMib.h
│ ├── ieee8021TpmrMib.h
│ ├── ieee8021SpanningTreeMib.h
│ ├── ieee8021SrpMib.h
│ ├── ieee8021DdcfmMIB.h
│ └── lldpV2Xdot3MIB.h
├── include
│ └── sys
│ │ └── beb_ioctl.h
└── mibs
│ └── IEEE8021-ECMP-MIB.mib
└── README.md
/.gitignore:
--------------------------------------------------------------------------------
1 | .*.sw[nop]
2 | README.html
3 | *.log
4 | tmp*.txt
5 |
--------------------------------------------------------------------------------
/src/snmp/.gitignore:
--------------------------------------------------------------------------------
1 | .*.sw[nop]
2 | *.lint
3 | *.tree
4 | *.mib
5 | *_openss7.[ch]
6 | *_openss7.[ch]~
7 | *_master.[ch]
8 | *_master.[ch]~
9 |
--------------------------------------------------------------------------------
/src/snmp/generate:
--------------------------------------------------------------------------------
1 | #!/usr/bin/awk -f
2 |
3 | BEGIN {
4 | name = "";
5 | root = "";
6 | }
7 | /DEFINITIONS ::= BEGIN/ {
8 | name = $1;
9 | }
10 | /MODULE-IDENTITY/ {
11 | if ($NF ~ /MODULE-IDENTITY/) {
12 | root = $1;
13 | print "# root = " root;
14 | }
15 | }
16 | /^END/ {
17 | if (FILENAME != "-" && name != "" && root != "") {
18 | print "";
19 | print "MIBPREFIXES += " root;
20 | print "";
21 | print root ".mib: " FILENAME;
22 | print "\tsmidump -k " FILENAME ">$@ || :";
23 | print "";
24 | print root ".lint: " FILENAME;
25 | print "\tsmilint $(SMILINTIGNORES) -ms " FILENAME ">$@ 2>&1 || :";
26 | print "";
27 | print root ".tree: " FILENAME;
28 | print "\tsnmptranslate -Tp " name "::" root ">$@ || :";
29 | print "";
30 | print root "_simple.c " root "_simple.h: mib2c mib2c.conf " FILENAME;
31 | print "\t./mib2c -c ./mib2c.conf -f " root "_simple " name "::" root;
32 | print "\tindent -nhnl " root "_simple.[ch]";
33 | print "";
34 | print root "_storage.c " root "_storage.h: mib2c mib2c.conf " FILENAME;
35 | print "\t./mib2c -c ./mib2c.storage.conf -f " root "_storage " name "::" root;
36 | print "\tindent -nhnl " root "_storage.[ch]";
37 | print "";
38 | print root "_openss7.c " root "_openss7.h: mib2c mib2c.conf " FILENAME;
39 | print "\t./mib2c -c ./mib2c.openss7.conf -f " root "_openss7 " name "::" root;
40 | print "\tindent -nhnl " root "_openss7.[ch]";
41 | print "";
42 | }
43 | name = "";
44 | root = "";
45 | }
46 |
--------------------------------------------------------------------------------
/src/snmp/.indent.pro:
--------------------------------------------------------------------------------
1 | -kr
2 | -nsc
3 | -psl
4 | -bad
5 | -nbbb
6 | -bap
7 | -sob
8 | -bbo
9 | -ncdb
10 | -l200
11 | -lc200
12 | -i8
13 | -ip8
14 | -cli0
15 | -bli0
16 | -cbi0
17 | -br
18 | -ce
19 | -fca
20 | -nfc1
21 | -cd41
22 | -di1
23 | -lps
24 | -ss
25 | -hnl
26 | -nbc
27 | -TSTR_DECLARATION
28 | -THEAD_DECLARATION
29 | -TSLIST_HEAD
30 | -TSLIST_HASH
31 | -TSLIST_COUNT
32 | -TSLIST_LINKAGE
33 | -TSLIST_COUNTERS
34 | -TSLIST_CONN
35 | -TSLIST_SMAP
36 | -Tqueue_t
37 | -Tmblk_t
38 | -Tdblk_t
39 | -Tfrtn_t
40 | -Tbcid_t
41 | -Ttoid_t
42 | -Tbufcall_id_t
43 | -Ttimeout_id_t
44 | -Tqpair_t
45 | -Tqband_t
46 | -Tcred_t
47 | -Tdev_t
48 | -TN_qos_sel_conn_mtp_t
49 | -Tuchar
50 | -Tcaddr_t
51 | -Tulong
52 | -Tushort
53 | -Tinline
54 | -Twait_queue_head_t
55 | -Tssize_t
56 | -Tsize_t
57 | -Tloff_t
58 | -Tlis_semaphore_t
59 | -Tstdata_t
60 | -Tlis_spin_lock_t
61 | -Tlis_rw_lock_t
62 | -Tlis_pci_dev_t
63 | -Tlis_atomic_t
64 | -Tpid_t
65 | -Tstreamtab_t
66 | -Tmajor_t
67 | -Tminor_t
68 | -Tdma_addr_t
69 | -Tdma64_addr_t
70 | -TmodID_t
71 | -Tmm_segment_t
72 | -Tspinlock_t
73 | -Trwlock_t
74 | -Tatomic_t
75 | -Ttimo_fcn_t
76 | -Tsyncq_t
77 | -Tkmem_cache_t
78 | -Tu_int8_t
79 | -Tu_int16_t
80 | -Tu_int32_t
81 | -Tuint
82 | -Tuint8_t
83 | -Tuint16_t
84 | -Tuint32_t
85 | -Tint
86 | -Tint8_t
87 | -Tint16_t
88 | -Tint32_t
89 | -Tu_char
90 | -Tuchar
91 | -Tulong
92 | -Tlong
93 | -Tklock_t
94 | -T__user
95 | -T__kernel
96 | -Tbool
97 | -Tintptr_t
98 | -Tqi_putp_t
99 | -Tqi_srvp_t
100 | -Tqi_qopen_t
101 | -Tqi_qclose_t
102 | -Tqi_qadmin_t
103 | -Tstreamscall
104 | -Tss_t
105 | -Tt_scalar_t
106 | -Tt_uscalar_t
107 | -Tdlpi_handle_t
108 | -Tdlpi_notifyid_t
109 | -Tdlpi_notifyfunc_t
110 | -Tdlpi_walkfunc_t
111 | -Tnp_long
112 | -Tnp_ulong
113 | -Tcd_long
114 | -Tcd_ulong
115 | -Tcd_ushort
116 | -Tdl_long
117 | -Tdl_ulong
118 | -Tdl_ushort
119 | -Tsl_long
120 | -Tsl_ulong
121 | -Tsl_ushort
122 | -Tmtp_long
123 | -Tmtp_ulong
124 | -Tmtp_ushort
125 | -TN_qos_sel_data_sccp_t
126 | -TN_qos_sel_conn_sccp_t
127 | -TN_qos_sel_info_sccp_t
128 | -TN_qos_range_info_sccp_t
129 | -TFILE
130 |
--------------------------------------------------------------------------------
/src/snmp/ieee8021.h:
--------------------------------------------------------------------------------
1 | /*****************************************************************************
2 |
3 | @(#) src/snmp/ieee8021.h
4 |
5 | -----------------------------------------------------------------------------
6 |
7 | Copyright (c) 2008-2015 Monavacon Limited
8 | Copyright (c) 2001-2008 OpenSS7 Corporation
9 | Copyright (c) 1997-2001 Brian F. G. Bidulock
10 |
11 | All Rights Reserved.
12 |
13 | This program is free software; you can redistribute it and/or modify it under
14 | the terms of the GNU Affero General Public License as published by the Free
15 | Software Foundation; version 3 of the License.
16 |
17 | This program is distributed in the hope that it will be useful, but WITHOUT
18 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
19 | FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
20 | details.
21 |
22 | You should have received a copy of the GNU Affero General Public License
23 | along with this program. If not, see , or
24 | write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
25 | 02139, USA.
26 |
27 | -----------------------------------------------------------------------------
28 |
29 | U.S. GOVERNMENT RESTRICTED RIGHTS. If you are licensing this Software on
30 | behalf of the U.S. Government ("Government"), the following provisions apply
31 | to you. If the Software is supplied by the Department of Defense ("DoD"), it
32 | is classified as "Commercial Computer Software" under paragraph 252.227-7014
33 | of the DoD Supplement to the Federal Acquisition Regulations ("DFARS") (or any
34 | successor regulations) and the Government is acquiring only the license rights
35 | granted herein (the license rights customarily provided to non-Government
36 | users). If the Software is supplied to any unit or agency of the Government
37 | other than DoD, it is classified as "Restricted Computer Software" and the
38 | Government's rights in the Software are defined in paragraph 52.227-19 of the
39 | Federal Acquisition Regulations ("FAR") (or any successor regulations) or, in
40 | the cases of NASA, in paragraph 18.52.227-86 of the NASA Supplement to the FAR
41 | (or any successor regulations).
42 |
43 | -----------------------------------------------------------------------------
44 |
45 | Commercial licensing and support of this software is available from OpenSS7
46 | Corporation at a fee. See http://www.openss7.com/
47 |
48 | *****************************************************************************/
49 |
50 | #ifndef __LOCAL_IEEE8021_H__
51 | #define __LOCAL_IEEE8021_H__
52 |
53 | /*
54 | * This file was generated by mib2c and is intended for use as a mib module
55 | * for the ucd-snmp snmpd agent.
56 | */
57 |
58 | extern const char sa_program[]; /* program name */
59 | extern int sa_fclose; /* default close files between requests */
60 | extern int sa_changed; /* indication to reread MIB configuration */
61 | extern int sa_stats_refresh; /* indications that statistics, the mib or its tables need to be refreshed */
62 | extern int sa_request; /* request number for per-request actions */
63 | extern int sa_dump; /* default packet dump */
64 | extern int sa_debug; /* default no debug */
65 |
66 | #endif /* __LOCAL_IEEE8021_H__ */
67 |
--------------------------------------------------------------------------------
/src/snmp/struct.h:
--------------------------------------------------------------------------------
1 | /*****************************************************************************
2 |
3 | @(#) src/snmp/struct.h
4 |
5 | -----------------------------------------------------------------------------
6 |
7 | Copyright (c) 2001-2008 OpenSS7 Corporation
8 | Copyright (c) 1997-2001 Brian F. G. Bidulock
9 |
10 | All Rights Reserved.
11 |
12 | This program is free software; you can redistribute it and/or modify it under
13 | the terms of the GNU Affero General Public License as published by the Free
14 | Software Foundation; version 3 of the License.
15 |
16 | This program is distributed in the hope that it will be useful, but WITHOUT
17 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
18 | FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
19 | details.
20 |
21 | You should have received a copy of the GNU Affero General Public License
22 | along with this program. If not, see , or
23 | write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
24 | 02139, USA.
25 |
26 | -----------------------------------------------------------------------------
27 |
28 | U.S. GOVERNMENT RESTRICTED RIGHTS. If you are licensing this Software on
29 | behalf of the U.S. Government ("Government"), the following provisions apply
30 | to you. If the Software is supplied by the Department of Defense ("DoD"), it
31 | is classified as "Commercial Computer Software" under paragraph 252.227-7014
32 | of the DoD Supplement to the Federal Acquisition Regulations ("DFARS") (or any
33 | successor regulations) and the Government is acquiring only the license rights
34 | granted herein (the license rights customarily provided to non-Government
35 | users). If the Software is supplied to any unit or agency of the Government
36 | other than DoD, it is classified as "Restricted Computer Software" and the
37 | Government's rights in the Software are defined in paragraph 52.227-19 of the
38 | Federal Acquisition Regulations ("FAR") (or any successor regulations) or, in
39 | the cases of NASA, in paragraph 18.52.227-86 of the NASA Supplement to the FAR
40 | (or any successor regulations).
41 |
42 | -----------------------------------------------------------------------------
43 |
44 | Commercial licensing and support of this software is available from OpenSS7
45 | Corporation at a fee. See http://www.openss7.com/
46 |
47 | *****************************************************************************/
48 |
49 | #ifndef __LOCAL_STRUCT_H__
50 | #define __LOCAL_STRUCT_H__
51 |
52 | #define STRMAX 1024
53 |
54 | #define SHPROC 1
55 | #define EXECPROC 2
56 | #define PASSTHRU 3
57 | #define PASSTHRU_PERSIST 4
58 |
59 | #define MIBMAX 30
60 |
61 | struct extensible {
62 | char name[STRMAX];
63 | char command[STRMAX];
64 | char fixcmd[STRMAX];
65 | int type;
66 | int result;
67 | char output[STRMAX];
68 | struct extensible *next;
69 | unsigned long miboid[MIBMAX];
70 | size_t miblen;
71 | int pid;
72 | };
73 |
74 | struct myproc {
75 | char name[STRMAX];
76 | char fixcmd[STRMAX];
77 | int min;
78 | int max;
79 | struct myproc *next;
80 | };
81 |
82 | /*
83 | struct mibinfo
84 | {
85 | int numid;
86 | unsigned long mibid[10];
87 | char *name;
88 | void (*handle) ();
89 | };
90 | */
91 |
92 | #endif /* __LOCAL_STRUCT_H__ */
93 |
--------------------------------------------------------------------------------
/src/snmp/ds_agent.h:
--------------------------------------------------------------------------------
1 | /*****************************************************************************
2 |
3 | @(#) src/snmp/ds_agent.h
4 |
5 | -----------------------------------------------------------------------------
6 |
7 | Copyright (c) 2008-2015 Monavacon Limited
8 | Copyright (c) 2001-2008 OpenSS7 Corporation
9 | Copyright (c) 1997-2001 Brian F. G. Bidulock
10 |
11 | All Rights Reserved.
12 |
13 | This program is free software; you can redistribute it and/or modify it under
14 | the terms of the GNU Affero General Public License as published by the Free
15 | Software Foundation; version 3 of the License.
16 |
17 | This program is distributed in the hope that it will be useful, but WITHOUT
18 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
19 | FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
20 | details.
21 |
22 | You should have received a copy of the GNU Affero General Public License
23 | along with this program. If not, see , or
24 | write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
25 | 02139, USA.
26 |
27 | -----------------------------------------------------------------------------
28 |
29 | U.S. GOVERNMENT RESTRICTED RIGHTS. If you are licensing this Software on
30 | behalf of the U.S. Government ("Government"), the following provisions apply
31 | to you. If the Software is supplied by the Department of Defense ("DoD"), it
32 | is classified as "Commercial Computer Software" under paragraph 252.227-7014
33 | of the DoD Supplement to the Federal Acquisition Regulations ("DFARS") (or any
34 | successor regulations) and the Government is acquiring only the license rights
35 | granted herein (the license rights customarily provided to non-Government
36 | users). If the Software is supplied to any unit or agency of the Government
37 | other than DoD, it is classified as "Restricted Computer Software" and the
38 | Government's rights in the Software are defined in paragraph 52.227-19 of the
39 | Federal Acquisition Regulations ("FAR") (or any successor regulations) or, in
40 | the cases of NASA, in paragraph 18.52.227-86 of the NASA Supplement to the FAR
41 | (or any successor regulations).
42 |
43 | -----------------------------------------------------------------------------
44 |
45 | Commercial licensing and support of this software is available from OpenSS7
46 | Corporation at a fee. See http://www.openss7.com/
47 |
48 | *****************************************************************************/
49 |
50 | #ifndef __LOCAL_DS_AGENT_H__
51 | #define __LOCAL_DS_AGENT_H__
52 |
53 | /* defines agent's default store registrations */
54 |
55 | /* booleans */
56 | #define DS_AGENT_VERBOSE 0 /* 1 if verbose output desired */
57 | #define DS_AGENT_ROLE 1 /* 0 if master, 1 if client */
58 | #define DS_AGENT_NO_ROOT_ACCESS 2 /* 1 if we can't get root access */
59 | #define DS_AGENT_AGENTX_MASTER 3 /* 1 if AgentX desired */
60 |
61 | /* strings */
62 | #define DS_AGENT_PROGNAME 0 /* argv[0] */
63 | #define DS_AGENT_X_SOCKET 1 /* AF_UNIX or ip:port socket addr */
64 | #define DS_AGENT_PORTS 2 /* localhost:9161,tcp:localhost:9161... */
65 |
66 | /* integers */
67 | #define DS_AGENT_FLAGS 0 /* session.flags */
68 | #define DS_AGENT_USERID 1
69 | #define DS_AGENT_GROUPID 2
70 |
71 | #endif /* __LOCAL_DS_AGENT_H__ */
72 |
--------------------------------------------------------------------------------
/src/snmp/header_complex.h:
--------------------------------------------------------------------------------
1 | /*****************************************************************************
2 |
3 | @(#) src/snmp/header_complex.h
4 |
5 | -----------------------------------------------------------------------------
6 |
7 | Copyright (c) 2001-2008 OpenSS7 Corporation
8 | Copyright (c) 1997-2001 Brian F. G. Bidulock
9 |
10 | All Rights Reserved.
11 |
12 | This program is free software; you can redistribute it and/or modify it under
13 | the terms of the GNU Affero General Public License as published by the Free
14 | Software Foundation; version 3 of the License.
15 |
16 | This program is distributed in the hope that it will be useful, but WITHOUT
17 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
18 | FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
19 | details.
20 |
21 | You should have received a copy of the GNU Affero General Public License
22 | along with this program. If not, see , or
23 | write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
24 | 02139, USA.
25 |
26 | -----------------------------------------------------------------------------
27 |
28 | U.S. GOVERNMENT RESTRICTED RIGHTS. If you are licensing this Software on
29 | behalf of the U.S. Government ("Government"), the following provisions apply
30 | to you. If the Software is supplied by the Department of Defense ("DoD"), it
31 | is classified as "Commercial Computer Software" under paragraph 252.227-7014
32 | of the DoD Supplement to the Federal Acquisition Regulations ("DFARS") (or any
33 | successor regulations) and the Government is acquiring only the license rights
34 | granted herein (the license rights customarily provided to non-Government
35 | users). If the Software is supplied to any unit or agency of the Government
36 | other than DoD, it is classified as "Restricted Computer Software" and the
37 | Government's rights in the Software are defined in paragraph 52.227-19 of the
38 | Federal Acquisition Regulations ("FAR") (or any successor regulations) or, in
39 | the cases of NASA, in paragraph 18.52.227-86 of the NASA Supplement to the FAR
40 | (or any successor regulations).
41 |
42 | -----------------------------------------------------------------------------
43 |
44 | Commercial licensing and support of this software is available from OpenSS7
45 | Corporation at a fee. See http://www.openss7.com/
46 |
47 | *****************************************************************************/
48 |
49 | #ifndef __LOCAL_HEADER_COMPLEX_H__
50 | #define __LOCAL_HEADER_COMPLEX_H__
51 |
52 | /*
53 | * header_complex.h: More complex storage and data sorting for mib modules
54 | */
55 | struct header_complex_index {
56 | oid *name;
57 | size_t namelen;
58 | void *data;
59 | struct header_complex_index *next;
60 | struct header_complex_index *prev;
61 | };
62 |
63 | /*
64 | * Function pointer called by the header_comlpex functions when a client
65 | * pointer (void * to us) needs to be cleaned.
66 | */
67 |
68 | typedef void (HeaderComplexCleaner) (void *);
69 |
70 | void *header_complex(struct header_complex_index *datalist, struct variable *vp, oid * name,
71 | size_t *length, int exact, size_t *var_len, WriteMethod ** write_method);
72 |
73 | int header_complex_generate_varoid(struct variable_list *var);
74 |
75 | int header_complex_parse_oid(oid * oidIndex, size_t oidLen, struct variable_list *data);
76 |
77 | void header_complex_generate_oid(oid * name, size_t *length, oid * prefix, size_t prefix_len,
78 | struct variable_list *data);
79 |
80 | void header_complex_free_all(struct header_complex_index *thestuff, HeaderComplexCleaner * cleaner);
81 |
82 | void header_complex_free_entry(struct header_complex_index *theentry,
83 | HeaderComplexCleaner * cleaner);
84 |
85 | void *header_complex_extract_entry(struct header_complex_index **thetop,
86 | struct header_complex_index *thespot);
87 |
88 | struct header_complex_index *header_complex_find_entry(struct header_complex_index *thestuff,
89 | void *entry);
90 |
91 | void *header_complex_get(struct header_complex_index *datalist, struct variable_list *index);
92 |
93 | struct header_complex_index *header_complex_add_data(struct header_complex_index **thedata,
94 | struct variable_list *var, void *data);
95 |
96 | #endif /* __LOCAL_HEADER_COMPLEX_H__ */
97 |
--------------------------------------------------------------------------------
/src/snmp/makestubs:
--------------------------------------------------------------------------------
1 | #!/usr/bin/make -f
2 | # =============================================================================
3 | #
4 | # @(#) src/snmp/makestubs
5 | #
6 | # -----------------------------------------------------------------------------
7 | #
8 | # Copyright (c) 2008-2015 Monavacon Limited
9 | # Copyright (c) 2001-2008 OpenSS7 Corporation
10 | # Copyright (c) 1997-2001 Brian F. G. Bidulock
11 | #
12 | # All Rights Reserved.
13 | #
14 | # This program is free software; you can redistribute it and/or modify it under
15 | # the terms of the GNU Affero General Public License as published by the Free
16 | # Software Foundation; version 3 of the License.
17 | #
18 | # This program is distributed in the hope that it will be useful, but WITHOUT
19 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
20 | # FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
21 | # details.
22 | #
23 | # You should have received a copy of the GNU Affero General Public License along
24 | # with this program. If not, see , or write to
25 | # the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
26 | #
27 | # -----------------------------------------------------------------------------
28 | #
29 | # U.S. GOVERNMENT RESTRICTED RIGHTS. If you are licensing this Software on
30 | # behalf of the U.S. Government ("Government"), the following provisions apply
31 | # to you. If the Software is supplied by the Department of Defense ("DoD"), it
32 | # is classified as "Commercial Computer Software" under paragraph 252.227-7014
33 | # of the DoD Supplement to the Federal Acquisition Regulations ("DFARS") (or any
34 | # successor regulations) and the Government is acquiring only the license rights
35 | # granted herein (the license rights customarily provided to non-Government
36 | # users). If the Software is supplied to any unit or agency of the Government
37 | # other than DoD, it is classified as "Restricted Computer Software" and the
38 | # Government's rights in the Software are defined in paragraph 52.227-19 of the
39 | # Federal Acquisition Regulations ("FAR") (or any successor regulations) or, in
40 | # the cases of NASA, in paragraph 18.52.227-86 of the NASA Supplement to the FAR
41 | # (or any successor regulations).
42 | #
43 | # -----------------------------------------------------------------------------
44 | #
45 | # Commercial licensing and support of this software is available from OpenSS7
46 | # Corporation at a fee. See http://www.openss7.com/
47 | #
48 | # =============================================================================
49 |
50 | MIBDIRS=../mibs:/usr/share/snmp/mibs:/usr/share/mibs/iana:/usr/share/mibs/ietf:/usr/share/mibs/netsnmp
51 | MIBFILES=
52 | MIBS=
53 |
54 | export MIBS
55 | export MIBDIRS
56 | export MIBFILES
57 |
58 | all: lint dump tree openss7 master
59 |
60 | MIBPREFIXES =
61 |
62 | SMILINTIGNORES = -i type-unref -i namelength-32 -i opaque-smiv2
63 |
64 | -include makestubs.include
65 |
66 | dump: $(MIBPREFIXES:%=%.mib)
67 |
68 | lint: $(MIBPREFIXES:%=%.lint)
69 |
70 | tree check: $(MIBPREFIXES:%=%.tree)
71 |
72 | simple: $(MIBPREFIXES:%=%_simple.c) $(MIBPREFIXES:%=%_simple.h)
73 |
74 | storage: $(MIBPREFIXES:%=%_storage.c) $(MIBPREFIXES:%=%_storage.h)
75 |
76 | openss7: $(MIBPREFIXES:%=%_openss7.c) $(MIBPREFIXES:%=%_openss7.h)
77 |
78 | master: \
79 | ieee8021_master.c ieee8021_master.h
80 |
81 | ieee8021_master.c ieee8021_master.h: mib2c mib2c.master.conf ../mibs/IEEE8021-TC-MIB.mib
82 | ./mib2c -c ./mib2c.master.conf -f ieee8021_master IEEE8021-TC-MIB::ieee8021TcMib
83 | indent -nhnl ieee8021_master.[ch]
84 |
85 | clean:
86 | @list='$(MIBPREFIXES)'; for p in $$list ; do \
87 | echo "rm -fv $${p}_{openss7,simple,storage}.[ch]" ; \
88 | rm -fv $${p}_openss7.[ch] ; \
89 | rm -fv $${p}_simple.[ch] ; \
90 | rm -fv $${p}_storage.[ch] ; \
91 | echo "rm -fv $${p}_{openss7,simple,storage}.[ch]~" ; \
92 | rm -fv $${p}_openss7.[ch]~ ; \
93 | rm -fv $${p}_simple.[ch]~ ; \
94 | rm -fv $${p}_storage.[ch]~ ; \
95 | echo "rm -fv $${p}.{mib,lint,tree}" ; \
96 | rm -fv $${p}.mib ; \
97 | rm -fv $${p}.lint ; \
98 | rm -fv $${p}.tree ; \
99 | done
100 | rm -f ieee8021_master.[ch]
101 | rm -f ieee8021_master.[ch]~
102 |
103 | .PHONY: all clean dump lint tree check openss7 simple storage
104 |
--------------------------------------------------------------------------------
/src/snmp/lldpV2TcMIB.h:
--------------------------------------------------------------------------------
1 | /*****************************************************************************
2 |
3 | @(#) src/snmp/lldpv2tcmib.h
4 |
5 | -----------------------------------------------------------------------------
6 |
7 | Copyright (c) 2008-2015 Monavacon Limited
8 | Copyright (c) 2001-2008 OpenSS7 Corporation
9 | Copyright (c) 1997-2001 Brian F. G. Bidulock
10 |
11 | All Rights Reserved.
12 |
13 | This program is free software; you can redistribute it and/or modify it under
14 | the terms of the GNU Affero General Public License as published by the Free
15 | Software Foundation; version 3 of the License.
16 |
17 | This program is distributed in the hope that it will be useful, but WITHOUT
18 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
19 | FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
20 | details.
21 |
22 | You should have received a copy of the GNU Affero General Public License
23 | along with this program. If not, see , or
24 | write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
25 | 02139, USA.
26 |
27 | -----------------------------------------------------------------------------
28 |
29 | U.S. GOVERNMENT RESTRICTED RIGHTS. If you are licensing this Software on
30 | behalf of the U.S. Government ("Government"), the following provisions apply
31 | to you. If the Software is supplied by the Department of Defense ("DoD"), it
32 | is classified as "Commercial Computer Software" under paragraph 252.227-7014
33 | of the DoD Supplement to the Federal Acquisition Regulations ("DFARS") (or any
34 | successor regulations) and the Government is acquiring only the license rights
35 | granted herein (the license rights customarily provided to non-Government
36 | users). If the Software is supplied to any unit or agency of the Government
37 | other than DoD, it is classified as "Restricted Computer Software" and the
38 | Government's rights in the Software are defined in paragraph 52.227-19 of the
39 | Federal Acquisition Regulations ("FAR") (or any successor regulations) or, in
40 | the cases of NASA, in paragraph 18.52.227-86 of the NASA Supplement to the FAR
41 | (or any successor regulations).
42 |
43 | -----------------------------------------------------------------------------
44 |
45 | Commercial licensing and support of this software is available from OpenSS7
46 | Corporation at a fee. See http://www.openss7.com/
47 |
48 | *****************************************************************************/
49 |
50 | #ifndef __LOCAL_LLDPV2TCMIB_H__
51 | #define __LOCAL_LLDPV2TCMIB_H__
52 |
53 | /*
54 | * This file was generated by mib2c and is intended for use as a mib module
55 | * for the ucd-snmp snmpd agent.
56 | */
57 |
58 | extern const char sa_program[];
59 | extern int sa_fclose; /* default close files between requests */
60 | extern int sa_changed; /* indication to reread MIB configuration */
61 | extern int sa_stats_refresh; /* indications that statistics, the mib or its tables need to be refreshed */
62 | extern int sa_request; /* request number for per-request actions */
63 |
64 | /* our storage structure(s) */
65 | struct lldpV2TcMIB_data {
66 | struct lldpV2TcMIB_data *lldpV2TcMIB_old;
67 | uint lldpV2TcMIB_rsvs;
68 | uint lldpV2TcMIB_tsts;
69 | uint lldpV2TcMIB_sets;
70 | uint lldpV2TcMIB_request;
71 | };
72 |
73 | /* storage declarations */
74 | extern struct lldpV2TcMIB_data *lldpV2TcMIBStorage;
75 |
76 | /* enum definitions from the covered mib sections */
77 |
78 | /* notifications */
79 |
80 | /* scalars accessible only for notify */
81 |
82 | /* object id definitions */
83 |
84 | /* function prototypes */
85 | /* trap function prototypes */
86 |
87 | /* variable function prototypes */
88 | void init_lldpV2TcMIB(void);
89 | void deinit_lldpV2TcMIB(void);
90 | int term_lldpV2TcMIB(int majorID, int minorID, void *serverarg, void *clientarg);
91 | FindVarMethod var_lldpV2TcMIB;
92 | struct lldpV2TcMIB_data *lldpV2TcMIB_create(void);
93 | struct lldpV2TcMIB_data *lldpV2TcMIB_duplicate(struct lldpV2TcMIB_data *);
94 | int lldpV2TcMIB_destroy(struct lldpV2TcMIB_data **);
95 | int lldpV2TcMIB_add(struct lldpV2TcMIB_data *);
96 | void parse_lldpV2TcMIB(const char *, char *);
97 | SNMPCallback store_lldpV2TcMIB;
98 | void refresh_lldpV2TcMIB(int);
99 |
100 | #endif /* __LOCAL_LLDPV2TCMIB_H__ */
101 |
--------------------------------------------------------------------------------
/src/snmp/ieee8021TcMib.h:
--------------------------------------------------------------------------------
1 | /*****************************************************************************
2 |
3 | @(#) src/snmp/ieee8021tcmib.h
4 |
5 | -----------------------------------------------------------------------------
6 |
7 | Copyright (c) 2008-2015 Monavacon Limited
8 | Copyright (c) 2001-2008 OpenSS7 Corporation
9 | Copyright (c) 1997-2001 Brian F. G. Bidulock
10 |
11 | All Rights Reserved.
12 |
13 | This program is free software; you can redistribute it and/or modify it under
14 | the terms of the GNU Affero General Public License as published by the Free
15 | Software Foundation; version 3 of the License.
16 |
17 | This program is distributed in the hope that it will be useful, but WITHOUT
18 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
19 | FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
20 | details.
21 |
22 | You should have received a copy of the GNU Affero General Public License
23 | along with this program. If not, see , or
24 | write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
25 | 02139, USA.
26 |
27 | -----------------------------------------------------------------------------
28 |
29 | U.S. GOVERNMENT RESTRICTED RIGHTS. If you are licensing this Software on
30 | behalf of the U.S. Government ("Government"), the following provisions apply
31 | to you. If the Software is supplied by the Department of Defense ("DoD"), it
32 | is classified as "Commercial Computer Software" under paragraph 252.227-7014
33 | of the DoD Supplement to the Federal Acquisition Regulations ("DFARS") (or any
34 | successor regulations) and the Government is acquiring only the license rights
35 | granted herein (the license rights customarily provided to non-Government
36 | users). If the Software is supplied to any unit or agency of the Government
37 | other than DoD, it is classified as "Restricted Computer Software" and the
38 | Government's rights in the Software are defined in paragraph 52.227-19 of the
39 | Federal Acquisition Regulations ("FAR") (or any successor regulations) or, in
40 | the cases of NASA, in paragraph 18.52.227-86 of the NASA Supplement to the FAR
41 | (or any successor regulations).
42 |
43 | -----------------------------------------------------------------------------
44 |
45 | Commercial licensing and support of this software is available from OpenSS7
46 | Corporation at a fee. See http://www.openss7.com/
47 |
48 | *****************************************************************************/
49 |
50 | #ifndef __LOCAL_IEEE8021TCMIB_H__
51 | #define __LOCAL_IEEE8021TCMIB_H__
52 |
53 | /*
54 | * This file was generated by mib2c and is intended for use as a mib module
55 | * for the ucd-snmp snmpd agent.
56 | */
57 |
58 | extern const char sa_program[];
59 | extern int sa_fclose; /* default close files between requests */
60 | extern int sa_changed; /* indication to reread MIB configuration */
61 | extern int sa_stats_refresh; /* indications that statistics, the mib or its tables need to be refreshed */
62 | extern int sa_request; /* request number for per-request actions */
63 |
64 | /* our storage structure(s) */
65 | struct ieee8021TcMib_data {
66 | struct ieee8021TcMib_data *ieee8021TcMib_old;
67 | uint ieee8021TcMib_rsvs;
68 | uint ieee8021TcMib_tsts;
69 | uint ieee8021TcMib_sets;
70 | uint ieee8021TcMib_request;
71 | };
72 |
73 | /* storage declarations */
74 | extern struct ieee8021TcMib_data *ieee8021TcMibStorage;
75 |
76 | /* enum definitions from the covered mib sections */
77 |
78 | /* notifications */
79 |
80 | /* scalars accessible only for notify */
81 |
82 | /* object id definitions */
83 |
84 | /* function prototypes */
85 | /* trap function prototypes */
86 |
87 | /* variable function prototypes */
88 | void init_ieee8021TcMib(void);
89 | void deinit_ieee8021TcMib(void);
90 | int term_ieee8021TcMib(int majorID, int minorID, void *serverarg, void *clientarg);
91 | FindVarMethod var_ieee8021TcMib;
92 | struct ieee8021TcMib_data *ieee8021TcMib_create(void);
93 | struct ieee8021TcMib_data *ieee8021TcMib_duplicate(struct ieee8021TcMib_data *);
94 | int ieee8021TcMib_destroy(struct ieee8021TcMib_data **);
95 | int ieee8021TcMib_add(struct ieee8021TcMib_data *);
96 | void parse_ieee8021TcMib(const char *, char *);
97 | SNMPCallback store_ieee8021TcMib;
98 | void refresh_ieee8021TcMib(int);
99 |
100 | #endif /* __LOCAL_IEEE8021TCMIB_H__ */
101 |
--------------------------------------------------------------------------------
/src/snmp/util_funcs.h:
--------------------------------------------------------------------------------
1 | /*****************************************************************************
2 |
3 | @(#) src/snmp/util_funcs.h
4 |
5 | -----------------------------------------------------------------------------
6 |
7 | Copyright (c) 2008-2015 Monavacon Limited
8 | Copyright (c) 2001-2008 OpenSS7 Corporation
9 | Copyright (c) 1997-2001 Brian F. G. Bidulock
10 |
11 | All Rights Reserved.
12 |
13 | This program is free software; you can redistribute it and/or modify it under
14 | the terms of the GNU Affero General Public License as published by the Free
15 | Software Foundation; version 3 of the License.
16 |
17 | This program is distributed in the hope that it will be useful, but WITHOUT
18 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
19 | FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
20 | details.
21 |
22 | You should have received a copy of the GNU Affero General Public License
23 | along with this program. If not, see , or
24 | write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
25 | 02139, USA.
26 |
27 | -----------------------------------------------------------------------------
28 |
29 | U.S. GOVERNMENT RESTRICTED RIGHTS. If you are licensing this Software on
30 | behalf of the U.S. Government ("Government"), the following provisions apply
31 | to you. If the Software is supplied by the Department of Defense ("DoD"), it
32 | is classified as "Commercial Computer Software" under paragraph 252.227-7014
33 | of the DoD Supplement to the Federal Acquisition Regulations ("DFARS") (or any
34 | successor regulations) and the Government is acquiring only the license rights
35 | granted herein (the license rights customarily provided to non-Government
36 | users). If the Software is supplied to any unit or agency of the Government
37 | other than DoD, it is classified as "Restricted Computer Software" and the
38 | Government's rights in the Software are defined in paragraph 52.227-19 of the
39 | Federal Acquisition Regulations ("FAR") (or any successor regulations) or, in
40 | the cases of NASA, in paragraph 18.52.227-86 of the NASA Supplement to the FAR
41 | (or any successor regulations).
42 |
43 | -----------------------------------------------------------------------------
44 |
45 | Commercial licensing and support of this software is available from OpenSS7
46 | Corporation at a fee. See http://www.openss7.com/
47 |
48 | *****************************************************************************/
49 |
50 | #ifndef __LOCAL_UTIL_FUNCS_H__
51 | #define __LOCAL_UTIL_FUNCS_H__
52 |
53 | /*
54 | * util_funcs.h: utilitiy functions for extensible groups.
55 | */
56 |
57 | //#ifdef IN_UCD_SNMP_SOURCE
58 | #include "struct.h"
59 | //#else
60 | //#include
61 | //#endif
62 |
63 | void Exit(int);
64 | int shell_command(struct extensible *);
65 | int exec_command(struct extensible *);
66 | int get_exec_output(struct extensible *);
67 | int get_exec_pipes(char *cmd, int *fdIn, int *fdOut, int *pid);
68 | WriteMethod clear_cache;
69 | RETSIGTYPE restart_doit(int);
70 | WriteMethod restart_hook;
71 | void print_mib_oid(oid *, size_t);
72 | void sprint_mib_oid(char *, oid *, size_t);
73 | int header_simple_table(struct variable *, oid *, size_t *, int, size_t *,
74 | WriteMethod ** write_method, int);
75 | int header_generic(struct variable *, oid *, size_t *, int, size_t *, WriteMethod **);
76 | int checkmib(struct variable *, oid *, size_t *, int, size_t *, WriteMethod ** write_method, int);
77 | char *find_field(char *, int);
78 | int parse_miboid(const char *, oid *);
79 | void string_append_int(char *, int);
80 | void wait_on_exec(struct extensible *);
81 |
82 | #define satosin(x) ((struct sockaddr_in *) &(x))
83 | #define SOCKADDR(x) (satosin(x)->sin_addr.s_addr)
84 | #ifndef MIB_STATS_CACHE_TIMEOUT
85 | #define MIB_STATS_CACHE_TIMEOUT 5
86 | #endif
87 |
88 | typedef void *mib_table_t;
89 | typedef int (RELOAD) (mib_table_t);
90 | typedef int (COMPARE) (const void *, const void *);
91 | mib_table_t Initialise_Table(int, int, RELOAD, COMPARE);
92 | int Search_Table(mib_table_t, void *, int);
93 | int Add_Entry(mib_table_t, void *);
94 | void *Retrieve_Table_Data(mib_table_t, int *);
95 |
96 | #if 0
97 | int marker_uptime(marker_t pm);
98 | int marker_tticks(marker_t pm);
99 | int timeval_uptime(struct timeval *tv);
100 | int timeval_tticks(struct timeval *tv);
101 | #endif
102 |
103 | #endif /* __LOCAL_UTIL_FUNCS_H__ */
104 |
--------------------------------------------------------------------------------
/src/snmp/ieee8021CfmV2Mib.h:
--------------------------------------------------------------------------------
1 | /*****************************************************************************
2 |
3 | @(#) src/snmp/ieee8021cfmv2mib.h
4 |
5 | -----------------------------------------------------------------------------
6 |
7 | Copyright (c) 2008-2015 Monavacon Limited
8 | Copyright (c) 2001-2008 OpenSS7 Corporation
9 | Copyright (c) 1997-2001 Brian F. G. Bidulock
10 |
11 | All Rights Reserved.
12 |
13 | This program is free software; you can redistribute it and/or modify it under
14 | the terms of the GNU Affero General Public License as published by the Free
15 | Software Foundation; version 3 of the License.
16 |
17 | This program is distributed in the hope that it will be useful, but WITHOUT
18 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
19 | FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
20 | details.
21 |
22 | You should have received a copy of the GNU Affero General Public License
23 | along with this program. If not, see , or
24 | write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
25 | 02139, USA.
26 |
27 | -----------------------------------------------------------------------------
28 |
29 | U.S. GOVERNMENT RESTRICTED RIGHTS. If you are licensing this Software on
30 | behalf of the U.S. Government ("Government"), the following provisions apply
31 | to you. If the Software is supplied by the Department of Defense ("DoD"), it
32 | is classified as "Commercial Computer Software" under paragraph 252.227-7014
33 | of the DoD Supplement to the Federal Acquisition Regulations ("DFARS") (or any
34 | successor regulations) and the Government is acquiring only the license rights
35 | granted herein (the license rights customarily provided to non-Government
36 | users). If the Software is supplied to any unit or agency of the Government
37 | other than DoD, it is classified as "Restricted Computer Software" and the
38 | Government's rights in the Software are defined in paragraph 52.227-19 of the
39 | Federal Acquisition Regulations ("FAR") (or any successor regulations) or, in
40 | the cases of NASA, in paragraph 18.52.227-86 of the NASA Supplement to the FAR
41 | (or any successor regulations).
42 |
43 | -----------------------------------------------------------------------------
44 |
45 | Commercial licensing and support of this software is available from OpenSS7
46 | Corporation at a fee. See http://www.openss7.com/
47 |
48 | *****************************************************************************/
49 |
50 | #ifndef __LOCAL_IEEE8021CFMV2MIB_H__
51 | #define __LOCAL_IEEE8021CFMV2MIB_H__
52 |
53 | /*
54 | * This file was generated by mib2c and is intended for use as a mib module
55 | * for the ucd-snmp snmpd agent.
56 | */
57 |
58 | extern const char sa_program[];
59 | extern int sa_fclose; /* default close files between requests */
60 | extern int sa_changed; /* indication to reread MIB configuration */
61 | extern int sa_stats_refresh; /* indications that statistics, the mib or its tables need to be refreshed */
62 | extern int sa_request; /* request number for per-request actions */
63 |
64 | /* our storage structure(s) */
65 | struct ieee8021CfmV2Mib_data {
66 | struct ieee8021CfmV2Mib_data *ieee8021CfmV2Mib_old;
67 | uint ieee8021CfmV2Mib_rsvs;
68 | uint ieee8021CfmV2Mib_tsts;
69 | uint ieee8021CfmV2Mib_sets;
70 | uint ieee8021CfmV2Mib_request;
71 | };
72 |
73 | /* storage declarations */
74 | extern struct ieee8021CfmV2Mib_data *ieee8021CfmV2MibStorage;
75 |
76 | /* enum definitions from the covered mib sections */
77 |
78 | /* notifications */
79 |
80 | /* scalars accessible only for notify */
81 |
82 | /* object id definitions */
83 |
84 | /* function prototypes */
85 | /* trap function prototypes */
86 |
87 | /* variable function prototypes */
88 | void init_ieee8021CfmV2Mib(void);
89 | void deinit_ieee8021CfmV2Mib(void);
90 | int term_ieee8021CfmV2Mib(int majorID, int minorID, void *serverarg, void *clientarg);
91 | FindVarMethod var_ieee8021CfmV2Mib;
92 | struct ieee8021CfmV2Mib_data *ieee8021CfmV2Mib_create(void);
93 | struct ieee8021CfmV2Mib_data *ieee8021CfmV2Mib_duplicate(struct ieee8021CfmV2Mib_data *);
94 | int ieee8021CfmV2Mib_destroy(struct ieee8021CfmV2Mib_data **);
95 | int ieee8021CfmV2Mib_add(struct ieee8021CfmV2Mib_data *);
96 | void parse_ieee8021CfmV2Mib(const char *, char *);
97 | SNMPCallback store_ieee8021CfmV2Mib;
98 | void refresh_ieee8021CfmV2Mib(int);
99 |
100 | #endif /* __LOCAL_IEEE8021CFMV2MIB_H__ */
101 |
--------------------------------------------------------------------------------
/src/snmp/mib2c.vartypes.conf:
--------------------------------------------------------------------------------
1 | #
2 | # Define types of data by mib type, and translate into needed C code.
3 | #
4 | # type: the label in question extracted from the mib.
5 | # asnType: the internal type #define we should use for this type.
6 | # variable: the name of the variable we're going to use.
7 | # variablePtr: How to get a pointer to the variable above (may be
8 | # the same, if variable is also a pointer)
9 | # cast: how to cast from a void * or a char * to a pointer of
10 | # your type.
11 | # writeInit: variable declaration
12 | # case: initialization of the variable to a bogus value.
13 | #
14 | # copy: copies the previous definition into the current one,
15 | # if most of it (or all of it) is the same.
16 | ############################################################################
17 | type: OCTETSTR
18 | asnType: ASN_OCTET_STR
19 | vartypecheck: var_val_type != ASN_OCTET_STR
20 | variable: string
21 | variablePtr: string
22 | varlisttype: string
23 | cast: uint8_t *
24 | writeInit: static uint8_t string[SPRINT_MAX_LEN];
25 | case: *string = 0;
26 | case: *var_len = strlen(string);
27 | case: return (u_char *) string;
28 | ############################################################################
29 | type: INTEGER
30 | asnType: ASN_INTEGER
31 | vartypecheck: var_val_type != ASN_INTEGER
32 | variable: long_ret
33 | variablePtr: &long_ret
34 | varlisttype: integer
35 | cast: long *
36 | writeInit: static long *long_ret;
37 | case: long_ret = 0;
38 | case: return (u_char *) &long_ret;
39 | ############################################################################
40 | type: INTEGER32
41 | copy: INTEGER
42 | ############################################################################
43 | type: UNSIGNED32
44 | asnType: ASN_UNSIGNED
45 | vartypecheck: var_val_type != ASN_UNSIGNED
46 | variable: ulong_ret
47 | variablePtr: &ulong_ret
48 | varlisttype: integer
49 | cast: unsigned long *
50 | writeInit: static unsigned long *ulong_ret;
51 | case: ulong_ret = 0;
52 | case: return (u_char *) &ulong_ret;
53 | ############################################################################
54 | type: OBJECTID
55 | asnType: ASN_OBJECT_ID
56 | vartypecheck: var_val_type != ASN_OBJECT_ID
57 | variable: objid
58 | variablePtr: objid
59 | varlisttype: objid
60 | cast: oid *
61 | writeInit: static oid *objid;
62 | case: objid[0] = 0;
63 | case: objid[1] = 0;
64 | case: *var_len = 2*sizeof(oid);
65 | case: return (u_char *) objid;
66 | ############################################################################
67 | type: COUNTER64
68 | asnType: ASN_COUNTER64
69 | vartypecheck: var_val_type != ASN_COUNTER64
70 | variable: c64
71 | variablePtr: &c64
72 | varlisttype: counter64
73 | cast: struct counter64 *
74 | writeInit: struct counter64 *c64;
75 | case: c64.high = 0;
76 | case: c64.low = 0;
77 | case: *var_len = sizeof(c64);
78 | case: return (u_char *) &c64;
79 | ############################################################################
80 | type: COUNTER
81 | copy: INTEGER
82 | delete: asnType
83 | asnType: ASN_COUNTER
84 | delete: vartypecheck
85 | vartypecheck: var_val_type != ASN_COUNTER
86 | ############################################################################
87 | type: NETADDR
88 | copy: ASN_OBJECT_ID
89 | ############################################################################
90 | type: UINTEGER
91 | copy: INTEGER
92 | delete: asnType
93 | asnType: ASN_UINTEGER
94 | delete: vartypecheck
95 | vartypecheck: (var_val_type != ASN_UINTEGER && var_val_type != ASN_INTEGER)
96 | ############################################################################
97 | type: IPADDR
98 | copy: OCTETSTR
99 | delete: asnType
100 | asnType: ASN_IPADDRESS
101 | delete: vartypecheck
102 | vartypecheck: var_val_type != ASN_IPADDRESS
103 | ############################################################################
104 | type: BITS
105 | copy: OCTETSTR
106 | #delete: asnType
107 | #asnType: ASN_BIT_STR
108 | delete: vartypecheck
109 | vartypecheck: (var_val_type != ASN_BIT_STR && var_val_type != ASN_OCTET_STR)
110 | #delete: varlencheck
111 | #varlencheck: var_val_len < 1 || var_val_len > SPRINT_MAX_LEN
112 | #delete: varptrcheck
113 | #varptrcheck: vp->val_len < 1 || vp->val_len > SPRINT_MAX_LEN
114 | ############################################################################
115 | type: GAUGE
116 | copy: INTEGER
117 | delete: asnType
118 | asnType: ASN_GAUGE
119 | delete: vartypecheck
120 | vartypecheck: var_val_type != ASN_GAUGE
121 | ############################################################################
122 | type: OPAQUE
123 | copy: OCTETSTR
124 | delete: asnType
125 | asnType: ASN_OPAQUE
126 | delete: vartypecheck
127 | vartypecheck: var_val_type != ASN_OPAQUE
128 | ############################################################################
129 | type: TICKS
130 | copy: INTEGER
131 | delete: asnType
132 | asnType: ASN_TIMETICKS
133 | delete: vartypecheck
134 | vartypecheck: var_val_type != ASN_TIMETICKS
135 |
--------------------------------------------------------------------------------
/src/snmp/ptopoMIB.h:
--------------------------------------------------------------------------------
1 | /*****************************************************************************
2 |
3 | @(#) src/snmp/ptopomib.h
4 |
5 | -----------------------------------------------------------------------------
6 |
7 | Copyright (c) 2008-2015 Monavacon Limited
8 | Copyright (c) 2001-2008 OpenSS7 Corporation
9 | Copyright (c) 1997-2001 Brian F. G. Bidulock
10 |
11 | All Rights Reserved.
12 |
13 | This program is free software; you can redistribute it and/or modify it under
14 | the terms of the GNU Affero General Public License as published by the Free
15 | Software Foundation; version 3 of the License.
16 |
17 | This program is distributed in the hope that it will be useful, but WITHOUT
18 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
19 | FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
20 | details.
21 |
22 | You should have received a copy of the GNU Affero General Public License
23 | along with this program. If not, see , or
24 | write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
25 | 02139, USA.
26 |
27 | -----------------------------------------------------------------------------
28 |
29 | U.S. GOVERNMENT RESTRICTED RIGHTS. If you are licensing this Software on
30 | behalf of the U.S. Government ("Government"), the following provisions apply
31 | to you. If the Software is supplied by the Department of Defense ("DoD"), it
32 | is classified as "Commercial Computer Software" under paragraph 252.227-7014
33 | of the DoD Supplement to the Federal Acquisition Regulations ("DFARS") (or any
34 | successor regulations) and the Government is acquiring only the license rights
35 | granted herein (the license rights customarily provided to non-Government
36 | users). If the Software is supplied to any unit or agency of the Government
37 | other than DoD, it is classified as "Restricted Computer Software" and the
38 | Government's rights in the Software are defined in paragraph 52.227-19 of the
39 | Federal Acquisition Regulations ("FAR") (or any successor regulations) or, in
40 | the cases of NASA, in paragraph 18.52.227-86 of the NASA Supplement to the FAR
41 | (or any successor regulations).
42 |
43 | -----------------------------------------------------------------------------
44 |
45 | Commercial licensing and support of this software is available from OpenSS7
46 | Corporation at a fee. See http://www.openss7.com/
47 |
48 | *****************************************************************************/
49 |
50 | #ifndef __LOCAL_PTOPOMIB_H__
51 | #define __LOCAL_PTOPOMIB_H__
52 |
53 | /*
54 | * This file was generated by mib2c and is intended for use as a mib module
55 | * for the ucd-snmp snmpd agent.
56 | */
57 |
58 | extern const char sa_program[];
59 | extern int sa_fclose; /* default close files between requests */
60 | extern int sa_changed; /* indication to reread MIB configuration */
61 | extern int sa_stats_refresh; /* indications that statistics, the mib or its tables need to be refreshed */
62 | extern int sa_request; /* request number for per-request actions */
63 |
64 | /* our storage structure(s) */
65 | struct ptopoMIB_data {
66 | struct ptopoMIB_data *ptopoMIB_old;
67 | uint ptopoMIB_rsvs;
68 | uint ptopoMIB_tsts;
69 | uint ptopoMIB_sets;
70 | uint ptopoMIB_request;
71 | long ptopoLastChangeTime; /* ReadOnly */
72 | long ptopoConnTabInserts; /* ReadOnly */
73 | long ptopoConnTabDeletes; /* ReadOnly */
74 | long ptopoConnTabDrops; /* ReadOnly */
75 | long ptopoConnTabAgeouts; /* ReadOnly */
76 | long ptopoConfigTrapInterval; /* ReadWrite */
77 | long ptopoConfigMaxHoldTime; /* ReadWrite */
78 | };
79 | struct ptopoConnTable_data {
80 | struct ptopoConnTable_data *ptopoConnTable_old;
81 | uint ptopoConnTable_rsvs;
82 | uint ptopoConnTable_tsts;
83 | uint ptopoConnTable_sets;
84 | uint ptopoConnTable_request;
85 | uint ptopoConnTable_refs;
86 | uint ptopoConnTable_id;
87 | long ptopoConnTimeMark; /* NoAccess */
88 | long ptopoConnLocalChassis; /* NoAccess */
89 | long ptopoConnLocalPort; /* NoAccess */
90 | long ptopoConnIndex; /* NoAccess */
91 | long ptopoConnRemoteChassisType; /* Create */
92 | uint8_t *ptopoConnRemoteChassis; /* Create */
93 | size_t ptopoConnRemoteChassisLen;
94 | long ptopoConnRemotePortType; /* Create */
95 | uint8_t *ptopoConnRemotePort; /* Create */
96 | size_t ptopoConnRemotePortLen;
97 | oid *ptopoConnDiscAlgorithm; /* ReadOnly */
98 | size_t ptopoConnDiscAlgorithmLen;
99 | long ptopoConnAgentNetAddrType; /* Create */
100 | uint8_t *ptopoConnAgentNetAddr; /* Create */
101 | size_t ptopoConnAgentNetAddrLen;
102 | long ptopoConnMultiMacSASeen; /* ReadOnly */
103 | long ptopoConnMultiNetSASeen; /* ReadOnly */
104 | long ptopoConnIsStatic; /* Create */
105 | long ptopoConnLastVerifyTime; /* ReadOnly */
106 | long ptopoConnRowStatus; /* Create */
107 | };
108 |
109 | /* storage declarations */
110 | extern struct ptopoMIB_data *ptopoMIBStorage;
111 | extern struct header_complex_index *ptopoConnTableStorage;
112 |
113 | /* enum definitions from the covered mib sections */
114 |
115 | #define PTOPOCONNREMOTECHASSISTYPE_CHASIDENTPHYSICALALIAS 1
116 | #define PTOPOCONNREMOTECHASSISTYPE_CHASIDIFALIAS 2
117 | #define PTOPOCONNREMOTECHASSISTYPE_CHASIDPORTENTPHYSICALALIAS 3
118 | #define PTOPOCONNREMOTECHASSISTYPE_CHASIDMACADDRESS 4
119 | #define PTOPOCONNREMOTECHASSISTYPE_CHASIDPTOPOGENADDR 5
120 |
121 | #define PTOPOCONNREMOTEPORTTYPE_PORTIDIFALIAS 1
122 | #define PTOPOCONNREMOTEPORTTYPE_PORTIDENTPHYSICALALIAS 2
123 | #define PTOPOCONNREMOTEPORTTYPE_PORTIDMACADDR 3
124 | #define PTOPOCONNREMOTEPORTTYPE_PORTIDPTOPOGENADDR 4
125 |
126 | #define PTOPOCONNAGENTNETADDRTYPE_OTHER 0
127 | #define PTOPOCONNAGENTNETADDRTYPE_IPV4 1
128 | #define PTOPOCONNAGENTNETADDRTYPE_IPV6 2
129 | #define PTOPOCONNAGENTNETADDRTYPE_NSAP 3
130 | #define PTOPOCONNAGENTNETADDRTYPE_HDLC 4
131 | #define PTOPOCONNAGENTNETADDRTYPE_BBN1822 5
132 | #define PTOPOCONNAGENTNETADDRTYPE_ALL802 6
133 | #define PTOPOCONNAGENTNETADDRTYPE_E163 7
134 | #define PTOPOCONNAGENTNETADDRTYPE_E164 8
135 | #define PTOPOCONNAGENTNETADDRTYPE_F69 9
136 | #define PTOPOCONNAGENTNETADDRTYPE_X121 10
137 | #define PTOPOCONNAGENTNETADDRTYPE_IPX 11
138 | #define PTOPOCONNAGENTNETADDRTYPE_APPLETALK 12
139 | #define PTOPOCONNAGENTNETADDRTYPE_DECNETIV 13
140 | #define PTOPOCONNAGENTNETADDRTYPE_BANYANVINES 14
141 | #define PTOPOCONNAGENTNETADDRTYPE_E164WITHNSAP 15
142 | #define PTOPOCONNAGENTNETADDRTYPE_DNS 16
143 | #define PTOPOCONNAGENTNETADDRTYPE_DISTINGUISHEDNAME 17
144 | #define PTOPOCONNAGENTNETADDRTYPE_ASNUMBER 18
145 | #define PTOPOCONNAGENTNETADDRTYPE_XTPOVERIPV4 19
146 | #define PTOPOCONNAGENTNETADDRTYPE_XTPOVERIPV6 20
147 | #define PTOPOCONNAGENTNETADDRTYPE_XTPNATIVEMODEXTP 21
148 | #define PTOPOCONNAGENTNETADDRTYPE_FIBRECHANNELWWPN 22
149 | #define PTOPOCONNAGENTNETADDRTYPE_FIBRECHANNELWWNN 23
150 | #define PTOPOCONNAGENTNETADDRTYPE_GWID 24
151 | #define PTOPOCONNAGENTNETADDRTYPE_AFI 25
152 | #define PTOPOCONNAGENTNETADDRTYPE_RESERVED 65535
153 |
154 | #define PTOPOCONNMULTIMACSASEEN_NOTUSED 1
155 | #define PTOPOCONNMULTIMACSASEEN_UNKNOWN 2
156 | #define PTOPOCONNMULTIMACSASEEN_ONEADDR 3
157 | #define PTOPOCONNMULTIMACSASEEN_MULTIADDR 4
158 |
159 | #define PTOPOCONNMULTINETSASEEN_NOTUSED 1
160 | #define PTOPOCONNMULTINETSASEEN_UNKNOWN 2
161 | #define PTOPOCONNMULTINETSASEEN_ONEADDR 3
162 | #define PTOPOCONNMULTINETSASEEN_MULTIADDR 4
163 |
164 | #define PTOPOCONNISSTATIC_TRUE 1
165 | #define PTOPOCONNISSTATIC_FALSE 2
166 |
167 | /* notifications */
168 | extern oid ptopoConfigChange_oid[10];
169 |
170 | /* scalars accessible only for notify */
171 |
172 | /* object id definitions */
173 | extern oid ptopoCompliance_oid[10];
174 | extern oid ptopoDataGroup_oid[10];
175 | extern oid ptopoGeneralGroup_oid[10];
176 | extern oid ptopoConfigGroup_oid[10];
177 | extern oid ptopoNotificationsGroup_oid[10];
178 |
179 | /* function prototypes */
180 | /* trap function prototypes */
181 | extern void send_ptopoConfigChange_v2trap(struct variable_list *);
182 |
183 | /* variable function prototypes */
184 | void init_ptopoMIB(void);
185 | void deinit_ptopoMIB(void);
186 | int term_ptopoMIB(int majorID, int minorID, void *serverarg, void *clientarg);
187 | FindVarMethod var_ptopoMIB;
188 | struct ptopoMIB_data *ptopoMIB_create(void);
189 | struct ptopoMIB_data *ptopoMIB_duplicate(struct ptopoMIB_data *);
190 | int ptopoMIB_destroy(struct ptopoMIB_data **);
191 | int ptopoMIB_add(struct ptopoMIB_data *);
192 | void parse_ptopoMIB(const char *, char *);
193 | SNMPCallback store_ptopoMIB;
194 | void refresh_ptopoMIB(int);
195 | FindVarMethod var_ptopoConnTable;
196 | struct ptopoConnTable_data *ptopoConnTable_create(void);
197 | struct ptopoConnTable_data *ptopoConnTable_duplicate(struct ptopoConnTable_data *);
198 | int ptopoConnTable_destroy(struct ptopoConnTable_data **);
199 | int ptopoConnTable_add(struct ptopoConnTable_data *);
200 | int ptopoConnTable_del(struct ptopoConnTable_data *);
201 | void parse_ptopoConnTable(const char *, char *);
202 | SNMPCallback store_ptopoConnTable;
203 | void refresh_ptopoConnTable(int);
204 |
205 | WriteMethod write_ptopoConnRemoteChassisType;
206 | WriteMethod write_ptopoConnRemoteChassis;
207 | WriteMethod write_ptopoConnRemotePortType;
208 | WriteMethod write_ptopoConnRemotePort;
209 | WriteMethod write_ptopoConnAgentNetAddrType;
210 | WriteMethod write_ptopoConnAgentNetAddr;
211 | WriteMethod write_ptopoConnIsStatic;
212 | WriteMethod write_ptopoConnRowStatus;
213 | WriteMethod write_ptopoConfigTrapInterval;
214 | WriteMethod write_ptopoConfigMaxHoldTime;
215 | #endif /* __LOCAL_PTOPOMIB_H__ */
216 |
--------------------------------------------------------------------------------
/src/snmp/ieee8021FqtssMib.h:
--------------------------------------------------------------------------------
1 | /*****************************************************************************
2 |
3 | @(#) src/snmp/ieee8021fqtssmib.h
4 |
5 | -----------------------------------------------------------------------------
6 |
7 | Copyright (c) 2008-2015 Monavacon Limited
8 | Copyright (c) 2001-2008 OpenSS7 Corporation
9 | Copyright (c) 1997-2001 Brian F. G. Bidulock
10 |
11 | All Rights Reserved.
12 |
13 | This program is free software; you can redistribute it and/or modify it under
14 | the terms of the GNU Affero General Public License as published by the Free
15 | Software Foundation; version 3 of the License.
16 |
17 | This program is distributed in the hope that it will be useful, but WITHOUT
18 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
19 | FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
20 | details.
21 |
22 | You should have received a copy of the GNU Affero General Public License
23 | along with this program. If not, see , or
24 | write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
25 | 02139, USA.
26 |
27 | -----------------------------------------------------------------------------
28 |
29 | U.S. GOVERNMENT RESTRICTED RIGHTS. If you are licensing this Software on
30 | behalf of the U.S. Government ("Government"), the following provisions apply
31 | to you. If the Software is supplied by the Department of Defense ("DoD"), it
32 | is classified as "Commercial Computer Software" under paragraph 252.227-7014
33 | of the DoD Supplement to the Federal Acquisition Regulations ("DFARS") (or any
34 | successor regulations) and the Government is acquiring only the license rights
35 | granted herein (the license rights customarily provided to non-Government
36 | users). If the Software is supplied to any unit or agency of the Government
37 | other than DoD, it is classified as "Restricted Computer Software" and the
38 | Government's rights in the Software are defined in paragraph 52.227-19 of the
39 | Federal Acquisition Regulations ("FAR") (or any successor regulations) or, in
40 | the cases of NASA, in paragraph 18.52.227-86 of the NASA Supplement to the FAR
41 | (or any successor regulations).
42 |
43 | -----------------------------------------------------------------------------
44 |
45 | Commercial licensing and support of this software is available from OpenSS7
46 | Corporation at a fee. See http://www.openss7.com/
47 |
48 | *****************************************************************************/
49 |
50 | #ifndef __LOCAL_IEEE8021FQTSSMIB_H__
51 | #define __LOCAL_IEEE8021FQTSSMIB_H__
52 |
53 | /*
54 | * This file was generated by mib2c and is intended for use as a mib module
55 | * for the ucd-snmp snmpd agent.
56 | */
57 |
58 | extern const char sa_program[];
59 | extern int sa_fclose; /* default close files between requests */
60 | extern int sa_changed; /* indication to reread MIB configuration */
61 | extern int sa_stats_refresh; /* indications that statistics, the mib or its tables need to be refreshed */
62 | extern int sa_request; /* request number for per-request actions */
63 |
64 | /* our storage structure(s) */
65 | struct ieee8021FqtssMib_data {
66 | struct ieee8021FqtssMib_data *ieee8021FqtssMib_old;
67 | uint ieee8021FqtssMib_rsvs;
68 | uint ieee8021FqtssMib_tsts;
69 | uint ieee8021FqtssMib_sets;
70 | uint ieee8021FqtssMib_request;
71 | };
72 | struct ieee8021FqtssBapTable_data {
73 | struct ieee8021FqtssBapTable_data *ieee8021FqtssBapTable_old;
74 | uint ieee8021FqtssBapTable_rsvs;
75 | uint ieee8021FqtssBapTable_tsts;
76 | uint ieee8021FqtssBapTable_sets;
77 | uint ieee8021FqtssBapTable_request;
78 | uint ieee8021FqtssBapTable_refs;
79 | uint ieee8021FqtssBapTable_id;
80 | ulong ieee8021BridgeBaseComponentId; /* NoAccess */
81 | ulong ieee8021BridgeBasePort; /* NoAccess */
82 | ulong ieee8021FqtssBAPTrafficClass; /* NoAccess */
83 | ulong ieee8021FqtssDeltaBandwidth; /* Create */
84 | ulong ieee8021FqtssOperIdleSlopeMs; /* ReadOnly */
85 | ulong ieee8021FqtssOperIdleSlopeLs; /* ReadOnly */
86 | ulong ieee8021FqtssAdminIdleSlopeMs; /* Create */
87 | ulong ieee8021FqtssAdminIdleSlopeLs; /* Create */
88 | long ieee8021FqtssBapRowStatus; /* Create */
89 | };
90 | struct ieee8021FqtssTxSelectionAlgorithmTable_data {
91 | struct ieee8021FqtssTxSelectionAlgorithmTable_data *ieee8021FqtssTxSelectionAlgorithmTable_old;
92 | uint ieee8021FqtssTxSelectionAlgorithmTable_rsvs;
93 | uint ieee8021FqtssTxSelectionAlgorithmTable_tsts;
94 | uint ieee8021FqtssTxSelectionAlgorithmTable_sets;
95 | uint ieee8021FqtssTxSelectionAlgorithmTable_request;
96 | uint ieee8021FqtssTxSelectionAlgorithmTable_refs;
97 | uint ieee8021FqtssTxSelectionAlgorithmTable_id;
98 | ulong ieee8021BridgeBaseComponentId; /* NoAccess */
99 | ulong ieee8021BridgeBasePort; /* NoAccess */
100 | ulong ieee8021FqtssTrafficClass; /* NoAccess */
101 | ulong ieee8021FqtssTxSelectionAlgorithmID; /* ReadWrite */
102 | };
103 | struct ieee8021FqtssSrpRegenOverrideTable_data {
104 | struct ieee8021FqtssSrpRegenOverrideTable_data *ieee8021FqtssSrpRegenOverrideTable_old;
105 | uint ieee8021FqtssSrpRegenOverrideTable_rsvs;
106 | uint ieee8021FqtssSrpRegenOverrideTable_tsts;
107 | uint ieee8021FqtssSrpRegenOverrideTable_sets;
108 | uint ieee8021FqtssSrpRegenOverrideTable_request;
109 | uint ieee8021FqtssSrpRegenOverrideTable_refs;
110 | uint ieee8021FqtssSrpRegenOverrideTable_id;
111 | ulong ieee8021BridgeBaseComponentId; /* NoAccess */
112 | ulong ieee8021BridgeBasePort; /* NoAccess */
113 | ulong ieee8021FqtssSrClassPriority; /* NoAccess */
114 | ulong ieee8021FqtssPriorityRegenOverride; /* ReadWrite */
115 | long ieee8021FqtssSrpBoundaryPort; /* ReadOnly */
116 | };
117 |
118 | /* storage declarations */
119 | extern struct ieee8021FqtssMib_data *ieee8021FqtssMibStorage;
120 | extern struct header_complex_index *ieee8021FqtssBapTableStorage;
121 | extern struct header_complex_index *ieee8021FqtssTxSelectionAlgorithmTableStorage;
122 | extern struct header_complex_index *ieee8021FqtssSrpRegenOverrideTableStorage;
123 |
124 | /* enum definitions from the covered mib sections */
125 |
126 | #define IEEE8021FQTSSSRPBOUNDARYPORT_TRUE 1
127 | #define IEEE8021FQTSSSRPBOUNDARYPORT_FALSE 2
128 |
129 | /* notifications */
130 |
131 | /* scalars accessible only for notify */
132 |
133 | /* object id definitions */
134 | extern oid ieee8021FqtssCompliance_oid[11];
135 | extern oid ieee8021FqtssBapGroup_oid[11];
136 | extern oid ieee8021FqtssTxSelectionAlgorithmGroup_oid[11];
137 | extern oid ieee8021FqtssBoundaryPortGroup_oid[11];
138 |
139 | /* function prototypes */
140 | /* trap function prototypes */
141 |
142 | /* variable function prototypes */
143 | void init_ieee8021FqtssMib(void);
144 | void deinit_ieee8021FqtssMib(void);
145 | int term_ieee8021FqtssMib(int majorID, int minorID, void *serverarg, void *clientarg);
146 | FindVarMethod var_ieee8021FqtssMib;
147 | struct ieee8021FqtssMib_data *ieee8021FqtssMib_create(void);
148 | struct ieee8021FqtssMib_data *ieee8021FqtssMib_duplicate(struct ieee8021FqtssMib_data *);
149 | int ieee8021FqtssMib_destroy(struct ieee8021FqtssMib_data **);
150 | int ieee8021FqtssMib_add(struct ieee8021FqtssMib_data *);
151 | void parse_ieee8021FqtssMib(const char *, char *);
152 | SNMPCallback store_ieee8021FqtssMib;
153 | void refresh_ieee8021FqtssMib(int);
154 | FindVarMethod var_ieee8021FqtssBapTable;
155 | struct ieee8021FqtssBapTable_data *ieee8021FqtssBapTable_create(void);
156 | struct ieee8021FqtssBapTable_data *ieee8021FqtssBapTable_duplicate(struct ieee8021FqtssBapTable_data *);
157 | int ieee8021FqtssBapTable_destroy(struct ieee8021FqtssBapTable_data **);
158 | int ieee8021FqtssBapTable_add(struct ieee8021FqtssBapTable_data *);
159 | int ieee8021FqtssBapTable_del(struct ieee8021FqtssBapTable_data *);
160 | void parse_ieee8021FqtssBapTable(const char *, char *);
161 | SNMPCallback store_ieee8021FqtssBapTable;
162 | void refresh_ieee8021FqtssBapTable(int);
163 | FindVarMethod var_ieee8021FqtssTxSelectionAlgorithmTable;
164 | struct ieee8021FqtssTxSelectionAlgorithmTable_data *ieee8021FqtssTxSelectionAlgorithmTable_create(void);
165 | struct ieee8021FqtssTxSelectionAlgorithmTable_data *ieee8021FqtssTxSelectionAlgorithmTable_duplicate(struct ieee8021FqtssTxSelectionAlgorithmTable_data *);
166 | int ieee8021FqtssTxSelectionAlgorithmTable_destroy(struct ieee8021FqtssTxSelectionAlgorithmTable_data **);
167 | int ieee8021FqtssTxSelectionAlgorithmTable_add(struct ieee8021FqtssTxSelectionAlgorithmTable_data *);
168 | int ieee8021FqtssTxSelectionAlgorithmTable_del(struct ieee8021FqtssTxSelectionAlgorithmTable_data *);
169 | void parse_ieee8021FqtssTxSelectionAlgorithmTable(const char *, char *);
170 | SNMPCallback store_ieee8021FqtssTxSelectionAlgorithmTable;
171 | void refresh_ieee8021FqtssTxSelectionAlgorithmTable(int);
172 | FindVarMethod var_ieee8021FqtssSrpRegenOverrideTable;
173 | struct ieee8021FqtssSrpRegenOverrideTable_data *ieee8021FqtssSrpRegenOverrideTable_create(void);
174 | struct ieee8021FqtssSrpRegenOverrideTable_data *ieee8021FqtssSrpRegenOverrideTable_duplicate(struct ieee8021FqtssSrpRegenOverrideTable_data *);
175 | int ieee8021FqtssSrpRegenOverrideTable_destroy(struct ieee8021FqtssSrpRegenOverrideTable_data **);
176 | int ieee8021FqtssSrpRegenOverrideTable_add(struct ieee8021FqtssSrpRegenOverrideTable_data *);
177 | int ieee8021FqtssSrpRegenOverrideTable_del(struct ieee8021FqtssSrpRegenOverrideTable_data *);
178 | void parse_ieee8021FqtssSrpRegenOverrideTable(const char *, char *);
179 | SNMPCallback store_ieee8021FqtssSrpRegenOverrideTable;
180 | void refresh_ieee8021FqtssSrpRegenOverrideTable(int);
181 |
182 | WriteMethod write_ieee8021FqtssDeltaBandwidth;
183 | WriteMethod write_ieee8021FqtssAdminIdleSlopeMs;
184 | WriteMethod write_ieee8021FqtssAdminIdleSlopeLs;
185 | WriteMethod write_ieee8021FqtssBapRowStatus;
186 | WriteMethod write_ieee8021FqtssTxSelectionAlgorithmID;
187 | WriteMethod write_ieee8021FqtssPriorityRegenOverride;
188 | #endif /* __LOCAL_IEEE8021FQTSSMIB_H__ */
189 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # PBBR (Provider Backbone Bridge)
2 |
3 | This package is an implementation of Provider Backbone Bridging (PBB) as specified in IEEE 802.1ah
4 | and IEEE 802.1Q (2011) (both now part of IEEE 802.1Q-2018). It provides a separate 'bridge' device
5 | for the Linux Kernel that can act as a PBB-BEB and/or PBB-TE backbone bridge. It also implements
6 | IEEE 802.1aq-2012 (SPB) and IEEE 802.1Qbp-2014 (ECMP) (both now part of IEEE
7 | 802.1Q-2018).
8 |
9 | ## Objectives
10 |
11 | The objective of PBBR is to create a bridge device for Linux that provides an SPBM
12 | ECMP Level-1/Level-2 bridge for the Linux kernel.
13 | The primary uses are as follows:
14 |
15 | 1. Using the Linux Kernel as a PBB-TE provider-bridge (Level-2 Intermediate System).
16 |
17 | In the provider-bridge role, the bridge acts as a PBB-TE bridge for adding PBB
18 | participating nodes into the backbone network, or to interconnect clouds using
19 | WAN interfaces as PBB provider ports.
20 |
21 | 2. Using QEMU/KVM for virtualization of network interface devices.
22 |
23 | In the virtualization role, the bridge acts as a PBB-BEB bridge that enslaves
24 | host network interfaces as provider ports and TAP devices for **`virtio`** as
25 | customer ports. This enables automatic full-mesh resilient network
26 | connections for virtualized networks in the cloud. My primary purpose is for
27 | enabling resilient networking for NFVI.
28 |
29 | PBBR is intended to replace Open vSwitch for full-mesh networking between VNF
30 | instances in NFVI.
31 |
32 | ## Advantages
33 |
34 | The advantages of the PBB approach are as follows:
35 |
36 | * Resilience
37 | * Security
38 | * Migration
39 | * Virtual Instance Identification
40 | * Performance
41 | * Management
42 | * Service Assurance
43 |
44 | These advantages are detailed in the sections that follow:
45 |
46 | ### Resilience
47 |
48 | All other existing approaches in the Linux kernel utilize STP for bridging.
49 | Various forms of STP have resilience issues and provide for the possibility of
50 | back holes or significant network degradation dues to broadcast/multicast loops.
51 |
52 | SPB (Shortest Path Bridging) using the IS-IS link-state protocol is far more
53 | resilient to network component and path outages than is STP and MSTP, and
54 | exhibits faster convergence than STP. ECMP (Equal Cost Multiple Path) and flow
55 | filtering (F-TAG) can also be optionally activated for efficient load-sharing.
56 | When **`tun/tap`** ports are utilized on a BEB bridge in the host system, there
57 | is no longer a need for "learning" customer MACs on these **`virtio`** ports.
58 | This means that network convergence is faster, for both startup and shutdown of
59 | **`virtio`** NIC instances.
60 |
61 | ### Security
62 |
63 | Other approaches are normal **`br`** and **`tap`**, **`macvtap`**, **`gretap`**,
64 | and **`vxlan`**. (The **`macvtap`** in **`bridge`** mode is similar to the **`br`**
65 | and **`tap`** approach, however, setup is easier.)
66 | The problem with bridge- or vepa-mode approaches is that any virtual mac interface
67 | can send packets to any other mac in the cloud, with the attendant security
68 | ramifications.
69 | **`gre`** and **`vxlan`** tunnels achieve the separation between clients
70 | necessary for security, but are quite complex in implementation which leads to
71 | other possible security exposure.
72 |
73 | On the other hand, PBB approaches achieve fully transparent separation between
74 | clients (using service identifier) without complex configuration.
75 |
76 | ### Migration
77 |
78 | Some approaches using Open vSwitch allow for migration of VM images between
79 | hosts. However, they require complex coordination between vSwitch instances and
80 | do not exhibit fast convergence.
81 |
82 | Utilizing the IS-IS SPBM protocol and short-circuiting "learning" at the
83 | customer port, it is possible to achieve migration change-over times consistent
84 | with the underlying convergence of the SPB protocol. This can easily achieve
85 | migration times of less than 100 milliseconds at scale, or faster on high
86 | performance hosts. It is also possible to have VNFs able to perform C-MAC
87 | take-over that will also converge in the same interval and with minimal
88 | disruption of layer-3 traffic.
89 |
90 | Utilizing a **`tun/tap`** **`virtio`** interface to a PBB backbone edge bridge
91 | internal to the Linux kernel precludes the need for "learning" of customer MACs.
92 | IS-IS (SPBM) ES updates can be performed as soon as the customer **`tun/tap`**
93 | interface is brought up or when it is closed. Migration of customer MACs to
94 | another host is handled quickly and automatically. Because each BEB has a full
95 | network view of the entire customer networks, it is also possible to detect
96 | customer MAC conflicts at the time that the **`tun/tap`** interface is
97 | configured.
98 |
99 | Allowing a VM guest to add or remove MACs from the **`virtio`** interface can
100 | permit for MAC take-over to enable fault-tolerance of VNFs.
101 |
102 | ### Virtual Instance Identification
103 |
104 | Utilizing Open vSwitch and similar approaches, it is difficult to identify VM
105 | guest instances. Utilizing PBB, VM guest instances can be identified by a
106 | primary SID (service identifier) and C-MAC (customer MAC) combination. It is
107 | possible to identify the location of particular VM guest instance by hooking
108 | into the IS-IS SPBM protocol or by utilizing C-LAN approaches such as LLDP.
109 |
110 | ### Port Aggregation
111 |
112 | Port aggregation utilizing the **`macvtap`** approach relies on coordination
113 | between the host and external bridges. Port aggregation with GRE and VxLAN
114 | approaches is complex and inefficient.
115 |
116 | Utilizing SPBM, ECF and ECMP at the BEB in the host achieves port aggregation
117 | and load balancing that is completely transparent to non-participating backbone
118 | bridges.
119 |
120 | ### Full Mesh
121 |
122 | Full mesh networking can be achieved using **`macvtap`** approaches; however, it
123 | comes with attendant security issues. Full mesh can be achieved utilizing GRE
124 | or VxLAN tunnels without the attendant security risks of bridge-mode approaches;
125 | however, there are attendant performance, resilience and management complexity
126 | associated with these approaches.
127 |
128 | PBB achieves full mesh networking with resilience, performance and security, and
129 | provides single-point provisioning for greatly reduced complexity.
130 |
131 | ### Traffic Engineering
132 |
133 | Traffic engineering with PBB utilizes traditional models, both at the backbone
134 | level and at the service instance level. Standard link traffic control can be
135 | managed both for backbone traffic as well as for service instance traffic.
136 |
137 | Traffic control utilizing standard Linux host approaches is difficult when using
138 | GRE or VxLAN tunnels.
139 |
140 | ### Monitoring
141 |
142 | Monitoring of failures with PBB utilizes traditional and standard approaches.
143 | On the other hand, GRE tunnels, VxLAN and Open vSwitch approaches make failure
144 | monitoring difficult.
145 |
146 | Furthermore, as IS-IS is a link-state protocol that provides an entire network
147 | view at each IS-IS node, it is possible to determine the total state of the
148 | network by simply having a management station participate in the IS-IS protocol.
149 |
150 | ### Data Path Performance
151 |
152 | Bridge-mode approaches have good data path performance (as good as a Linux
153 | kernel bridge). GRE and VxLAN approaches have the data path performance hit of
154 | additional encapsulation and the use of the Layer-3 or 4 stack, as well as the
155 | performance hit of an internal socket interface to the Layer-3 or 4 stack.
156 |
157 | PBB-BEB is a bridge and can achieve the same data path performance as any other
158 | Linux kernel bridge. STREAMS implementation can achieve performance gains above
159 | and beyond that of the native Linux kernel bridges due to instruction cache
160 | bursting.
161 |
162 | ## Implementation
163 |
164 | The Linux kernel native implementation consists of the following elements:
165 |
166 | 1. An implementation of a customer port.
167 |
168 | A customer port (C-VLAN) is similar to a VLAN virtual port (in fact is more
169 | similar to a VLAN in VLAN virtual port), except that, instead of being
170 | instantiated based on VID, it is based on SID. The SID is a 24-bit service
171 | instance identifier, that identifies the customer network associated with the
172 | customer port. The lower interface acts as a provider port; the upper
173 | interface, a customer port. The basic kernel VLAN implementation is extended
174 | to add a new virtual interface type for the customer port. Just as with VLAN
175 | virtual interfaces, the MAC address is shared with the provider port.
176 |
177 | 2. An implementation of the SPBM (IS-IS).
178 |
179 | For a customer port, the SPBM protocol is associated with the lower provider
180 | port under the customer port. The MAC address of the provider port acts as a
181 | NET (Network Entity Title) for a Level-1/2 intermediate system in the IS-IS
182 | SPBM protocol. This network entity acts as a BEB (backbone edge bridge). All
183 | BEBs participate in the IS-IS SPBM protocol.
184 |
185 | The upper customer port acts as a normal Ethernet link and participates in the
186 | STP protocol when combined with a normal customer bridge (a normal **`br`** bridge
187 | in the Linux kernel).
188 |
189 | 3. An implementation of a **`pbbclan`** driver.
190 |
191 | The **`pbbclan`** driver is similar to the **`macvlan`** driver in that it
192 | combines a virtual interface with a bridge over a customer port lower device.
193 | In fact, it may be possible to simply modify the **`macvlan`** driver for
194 | direct use over C-VLAN ports. The initial implementation of the **`pbbclan`**
195 | driver will be modelled after the **`macvlan`** driver in an attempt to
196 | integrate the two in the end.
197 |
198 | 4. An implementation of a **`pbbctap`** driver.
199 |
200 | The **`pcbctap`** driver is similar to the **`macvtap`** driver in that it
201 | combines a **`tun/tap`** interface with a bridge over a customer port lower
202 | device. In fact, it may be possible to simply modify the **`macvtap`** driver
203 | for direct use of C-VLAN ports. The initial implementation of the
204 | **`pbbctap`** driver will be modelled after the **`macvtap`** driver in an
205 | attempt to integrate to two in the end.
206 |
207 | 5. An implementation of a **`beb`** bridge driver.
208 |
209 | The **`beb`** driver is similar to a **`br`** driver. The major difference
210 | in setting up a **`beb`** bridge, is that the provider and customer ports must
211 | be distinguished when enslaving them.
212 |
213 | 6. Possibly an implementation of a **`pbb-te`** bridge.
214 |
215 | The major difference between a **`beb`** bridge and a **`pbb-te`** bridge is
216 | the later provides S-TAG aware bridging between separate provider backbone
217 | networks. Because a **`pbb-te`** bridge is not really necessary to achieve
218 | virtualization, it will likely be skipped for now.
219 |
--------------------------------------------------------------------------------
/src/snmp/mib2c.conf:
--------------------------------------------------------------------------------
1 | #
2 | # Define types of data by mib type, and translate into needed C code.
3 | #
4 |
5 | ############################################################################
6 | # source variable typing information:
7 | include: mib2c.vartypes.conf
8 |
9 | # Begin code template section
10 | ############################################################################
11 | # variable statemnts used in a couple of places below
12 | ############################################################################
13 | type: code-varInits
14 | code: /* variables we may use later */
15 | code: static long long_ret;
16 | code: static u_long ulong_ret;
17 | code: static unsigned char string[SPRINT_MAX_LEN];
18 | code: static oid objid[MAX_OID_LEN];
19 | code: static struct counter64 c64;
20 |
21 |
22 | ############################################################################
23 | # The .h file
24 | ############################################################################
25 | type: code-dot-h
26 | code: /* This file was generated by mib2c and is intended for use as a mib module
27 | code: for the ucd-snmp snmpd agent. */
28 | code:
29 | code: #ifndef _MIBGROUP_${OUTPUTNAME}_H
30 | code: #define _MIBGROUP_${OUTPUTNAME}_H
31 | code:
32 | code: /* we may use header_generic and header_simple_table from the util_funcs module */
33 | code:
34 | code: config_require(util_funcs)
35 | code:
36 | code: /* function prototypes */
37 | code:
38 | code: void init_$outputName(void);
39 | code: FindVarMethod var_$outputName;
40 | code: $variables{'code-var_table-decl'}{'processed'}
41 | code: $variables{'code-write-func-decl'}{'processed'}
42 | code:
43 | code: #endif /* _MIBGROUP_${OUTPUTNAME}_H */
44 |
45 | ############################################################################
46 | # The .c file, top
47 | ############################################################################
48 | type: code-main-part
49 | code: /* This file was generated by mib2c and is intended for use as a mib module
50 | code: for the ucd-snmp snmpd agent. */
51 | code:
52 | code: #ifdef IN_UCD_SNMP_SOURCE
53 | code: /* If we're compiling this file inside the ucd-snmp source tree */
54 | code:
55 | code: /* This should always be included first before anything else */
56 | code: #include
57 | code:
58 | code: /* minimal include directives */
59 | code: #include \"mibincl.h\"
60 | code: #include \"util_funcs.h\"
61 | code:
62 | code: #else /* !IN_UCD_SNMP_SOURCE */
63 | code:
64 | code: #include
65 | code: #include
66 | code: #include
67 | code:
68 | code: #endif /* !IN_UCD_SNMP_SOURCE */
69 | code:
70 | code: #include \"$outputName.h\"
71 | code:
72 | code: /*
73 | code: * ${outputName}_variables_oid:
74 | code: * this is the top level oid that we want to register under. This
75 | code: * is essentially a prefix, with the suffix appearing in the
76 | code: * variable below.
77 | code: */
78 | code:
79 | code: oid ${outputName}_variables_oid[] = { $commaoid };
80 | code:
81 | code: /*
82 | code: * variable$varlen ${outputName}_variables:
83 | code: * this variable defines function callbacks and type return information
84 | code: * for the $outputName mib section
85 | code: */
86 | code:
87 | code: struct variable$varlen ${outputName}_variables[] = {
88 | code: /* magic number , variable type , ro/rw , callback fn , L, oidsuffix */
89 | code: $variables{'variable-structure-info'}{'processed'}
90 | code: };
91 | code: /* (L = length of the oidsuffix) */
92 | code:
93 | code: /*
94 | code: * init_$outputName():
95 | code: * Initialization routine. This is called when the agent starts up.
96 | code: * At a minimum, registration of your variables should take place here.
97 | code: */
98 | code: void init_$outputName(void) {
99 | code:
100 | code: /* register ourselves with the agent to handle our mib tree */
101 | code: REGISTER_MIB(\"$outputName\", ${outputName}_variables, variable$varlen,\
102 | code: ${outputName}_variables_oid);
103 | code:
104 | code: /* place any other initialization junk you need here */
105 | code: }
106 | code:
107 | code: /*
108 | code: * var_$outputName():
109 | code: * This function is called every time the agent gets a request for
110 | code: * a scalar variable that might be found within your mib section
111 | code: * registered above. It is up to you to do the right thing and
112 | code: * return the correct value.
113 | code: * You should also correct the value of \"var_len\" if necessary.
114 | code: *
115 | code: * Please see the documentation for more information about writing
116 | code: * module extensions, and check out the examples in the examples
117 | code: * and mibII directories.
118 | code: */
119 | code: unsigned char *
120 | code: var_$outputName(struct variable *vp,
121 | code: oid *name,
122 | code: size_t *length,
123 | code: int exact,
124 | code: size_t *var_len,
125 | code: WriteMethod **write_method)
126 | code: {
127 | code:
128 | code: $variables{'code-varInits'}{'code'}
129 | code:
130 | code: if (header_generic(vp,name,length,exact,var_len,write_method)
131 | code: == MATCH_FAILED )
132 | code: return NULL;
133 | code:
134 | code: /*
135 | code: * this is where we do the value assignments for the mib results.
136 | code: */
137 | code: switch(vp->magic) {\n\n
138 | code: $variables{$outputName}{'code-case-statements'}{'processed'}
139 | code: default:
140 | code: ERROR_MSG(\"\");
141 | code: }
142 | code: return NULL;
143 | code: }
144 | code:
145 | code: $variables{'code-var_table'}{'processed'}
146 | code:
147 | code: $variables{'code-write-func'}{'processed'}
148 |
149 | ############################################################################
150 | # var_ function for tables, which is handled specially and used above
151 | #
152 | # Note: $vtable is set to the table name in the processtable loop.
153 | ############################################################################
154 |
155 | #
156 | # header file defs first
157 | #
158 | type: code-var_table-decl
159 | processtable: code-var_table-decl
160 |
161 | code: FindVarMethod var_$vtable;
162 |
163 | #
164 | # Code code per table
165 | #
166 | type: code-var_table
167 | processtable: code-var_table
168 |
169 | code: /*
170 | code: * var_$vtable():
171 | code: * Handle this table separately from the scalar value case.
172 | code: * The workings of this are basically the same as for var_$outputName above.
173 | code: */
174 | code: unsigned char *
175 | code: var_$vtable(struct variable *vp,
176 | code: oid *name,
177 | code: size_t *length,
178 | code: int exact,
179 | code: size_t *var_len,
180 | code: WriteMethod **write_method)
181 | code: {
182 | code:
183 | code: $variables{'code-varInits'}{'code'}
184 | code:
185 | code: /*
186 | code: * This assumes that the table is a \'simple\' table.
187 | code: * See the implementation documentation for the meaning of this.
188 | code: * You will need to provide the correct value for the TABLE_SIZE parameter
189 | code: *
190 | code: * If this table does not meet the requirements for a simple table,
191 | code: * you will need to provide the replacement code yourself.
192 | code: * Mib2c is not smart enough to write this for you.
193 | code: * Again, see the implementation documentation for what is required.
194 | code: */
195 | code: if (header_simple_table(vp,name,length,exact,var_len,write_method, TABLE_SIZE)
196 | code: == MATCH_FAILED )
197 | code: return NULL;
198 | code:
199 | code: /*
200 | code: * this is where we do the value assignments for the mib results.
201 | code: */
202 | code: switch(vp->magic) {\n\n
203 | code: $variables{$vtable}{'code-case-statements'}{'processed'}
204 | code: default:
205 | code: ERROR_MSG(\"\");
206 | code: }
207 | code: return NULL;
208 | code: }
209 |
210 |
211 | ############################################################################
212 | # case statement sections
213 | ############################################################################
214 | type: code-case-statements
215 | process: code-case-statements
216 | skipif: $mib->{'access'} =~ /NoAccess/
217 |
218 | code: case $NAME:
219 | code: " . (($mib->{'access'} =~ /ReadWrite|WriteOnly|Create/) ? "*write_method = write_$mib->{label};" : "") . "
220 | code: $variables{$mib->{'type'}}{'case'}
221 | code:
222 |
223 | ############################################################################
224 | # storage structure information
225 | ############################################################################
226 | type: variable-structure-info
227 | process: variable-structure-info
228 | skipif: $mib->{'access'} =~ /NoAccess/
229 | code: " . sprintf("#define %-20s $count", $NAME) . "
230 | code: " . sprintf(" { %-20s, %-14s, %-6.6s, %s, %d, { %s } },", $NAME, $variables{$mib->{'type'}}{'asnType'}, $accessToUCD{$mib->{'access'}}, "var_$vroutine", $depth-1, $subid) . "
231 |
232 | ############################################################################
233 | # write function defitition, also appended to the end of the .c file.
234 | ############################################################################
235 | #
236 | # Header info: declair write functions for set processing
237 | #
238 | process: code-write-func-decl
239 | type: code-write-func-decl
240 | skipif: $mib->{'access'} !~ /Write|Create/
241 | code: WriteMethod write_$name;
242 | #
243 | # C code
244 | #
245 | type: code-write-func
246 | process: code-write-func
247 | skipif: $mib->{'access'} !~ /Write|Create/
248 | code: int
249 | code: write_$name(int action,
250 | code: unsigned char *var_val,
251 | code: unsigned char var_val_type,
252 | code: size_t var_val_len,
253 | code: unsigned char *statP,
254 | code: oid *name,
255 | code: size_t name_len)
256 | code: {
257 | code: $variables{$mib->{'type'}}{writeInit}
258 | code: int size;
259 | code:
260 | code: switch ( action ) {
261 | code: case RESERVE1:
262 | code: if (var_val_type != $variables{$mib->{'type'}}{asnType}){
263 | code: fprintf(stderr, \"write to $name not $variables{$mib->{'type'}}{asnType}\\n\");
264 | code: return SNMP_ERR_WRONGTYPE;
265 | code: }
266 | code: if (var_val_len > sizeof($variables{$mib->{'type'}}{variable})){
267 | code: fprintf(stderr,\"write to $name: bad length\\n\");
268 | code: return SNMP_ERR_WRONGLENGTH;
269 | code: }
270 | code: break;
271 | code:
272 | code: case RESERVE2:
273 | code: size = var_val_len;
274 | code: $variables{$mib->{'type'}}{variable} = ($variables{$mib->{'type'}}{cast}) var_val;
275 | code:
276 | code: break;
277 | code:
278 | code: case FREE:
279 | code: /* Release any resources that have been allocated */
280 | code: break;
281 | code:
282 | code: case ACTION:
283 | code: /* The variable has been stored in $variables{$mib->{'type'}}{variable} for
284 | code: you to use, and you have just been asked to do something with
285 | code: it. Note that anything done here must be reversable in the UNDO case */
286 | code: break;
287 | code:
288 | code: case UNDO:
289 | code: /* Back out any changes made in the ACTION case */
290 | code: break;
291 | code:
292 | code: case COMMIT:
293 | code: /* Things are working well, so it's now safe to make the change
294 | code: permanently. Make sure that anything done here can't fail! */
295 | code: break;
296 | code: }
297 | code: return SNMP_ERR_NOERROR;
298 | code: }
299 | code:
300 | code:
301 |
--------------------------------------------------------------------------------
/src/include/sys/beb_ioctl.h:
--------------------------------------------------------------------------------
1 | /*****************************************************************************
2 |
3 | @(#) src/include/sys/beb_ioctl.h
4 |
5 | -----------------------------------------------------------------------------
6 |
7 | Copyright (c) 2008-2015 Monavacon Limited
8 | Copyright (c) 2001-2008 OpenSS7 Corporation
9 | Copyright (c) 1997-2001 Brian F. G. Bidulock
10 |
11 | All Rights Reserved.
12 |
13 | This program is free software; you can redistribute it and/or modify it under
14 | the terms of the GNU Affero General Public License as published by the Free
15 | Software Foundation; version 3 of the License.
16 |
17 | This program is distributed in the hope that it will be useful, but WITHOUT
18 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
19 | FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
20 | details.
21 |
22 | You should have received a copy of the GNU Affero General Public License
23 | along with this program. If not, see , or
24 | write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
25 | 02139, USA.
26 |
27 | -----------------------------------------------------------------------------
28 |
29 | U.S. GOVERNMENT RESTRICTED RIGHTS. If you are licensing this Software on
30 | behalf of the U.S. Government ("Government"), the following provisions apply
31 | to you. If the Software is supplied by the Department of Defense ("DoD"), it
32 | is classified as "Commercial Computer Software" under paragraph 252.227-7014
33 | of the DoD Supplement to the Federal Acquisition Regulations ("DFARS") (or any
34 | successor regulations) and the Government is acquiring only the license rights
35 | granted herein (the license rights customarily provided to non-Government
36 | users). If the Software is supplied to any unit or agency of the Government
37 | other than DoD, it is classified as "Restricted Computer Software" and the
38 | Government's rights in the Software are defined in paragraph 52.227-19 of the
39 | Federal Acquisition Regulations ("FAR") (or any successor regulations) or, in
40 | the cases of NASA, in paragraph 18.52.227-86 of the NASA Supplement to the FAR
41 | (or any successor regulations).
42 |
43 | -----------------------------------------------------------------------------
44 |
45 | Commercial licensing and support of this software is available from OpenSS7
46 | Corporation at a fee. See http://www.openss7.com/
47 |
48 | *****************************************************************************/
49 |
50 | #ifndef __BEB_IOCTL_H__
51 | #define __BEB_IOCTL_H__
52 |
53 | /* This file can be processed by doxygen(1). */
54 |
55 | #include
56 |
57 | #define BEB_IOC_MAGIC 'B'
58 |
59 | #define BEB_OBJ_TYPE_DF 0 /* default */
60 | #define BEB_OBJ_TYPE_BR 1 /* bridge (BEB user) */
61 | #define BEB_OBJ_TYPE_DL 2 /* data link */
62 | #define BEB_OBJ_TYPE_TS 3 /* tap/tun stream */
63 |
64 | #ifdef __KERNEL__
65 | typedef mblk_t *beb_timer_t;
66 | #else /* __KERNEL__ */
67 | typedef unsigned long beb_timer_t;
68 | #endif /* __KERNEL__ */
69 |
70 | /*
71 | * Data link options
72 | */
73 | typedef struct beb_opt_conf_dl {
74 | unsigned int ifIndex;
75 | uint64_t delayExceededDiscards;
76 | uint64_t mtuExceededDiscards;
77 | uint32_t capabilities;
78 | uint32_t typeCapabilities;
79 | uint32_t type;
80 | bool external;
81 | uint32_t adminPointToPoint;
82 | bool operPointToPoint;
83 | char name[32];
84 | int nameLen;
85 | } beb_opt_conf_dl_t;
86 |
87 | /*
88 | * tap/tun stream options
89 | */
90 | typedef struct beb_opt_conf_ts {
91 | } beb_opt_conf_ts_t;
92 |
93 | enum ieee8021BridgeBaseComponentType {
94 | iComponent = 1,
95 | bComponent = 2,
96 | cVlanComponent = 3,
97 | sVlanComponent = 4,
98 | dBridgeComponent = 5,
99 | erComponrnt = 6,
100 | tComponent = 7,
101 | };
102 |
103 | enum ieee8021BridgeBaseDeviceCapabilities {
104 | dot1ExtendedFilteringServices = 0,
105 | dot1DTrafficClasses = 1,
106 | dot1QStaticEntryIndividualPOrt = 2,
107 | dot1QIVLCapable = 3,
108 | dot1QSVLCapable = 4,
109 | dot1QHybridCapable = 5,
110 | dot1QConfigurablePVIDTagging = 6,
111 | dot1DLocalVLANCapable = 7,
112 | };
113 |
114 | /*
115 | * Bridge options
116 | */
117 | typedef struct beb_opt_conf_br {
118 | uint8_t address[6];
119 | int addressLen;
120 | int numPorts;
121 | enum ieee8021BridgeBaseComponentType componentType;
122 | unsigned int deviceCapablities;
123 | bool trafficClassesEnabled;
124 | bool mmrpEnabledStatus;
125 | unsigned int rowStatus;
126 | } beb_opt_conf_br_t;
127 |
128 | /*
129 | * Default options
130 | */
131 | typedef struct beb_opt_conf_df {
132 | } beb_opt_conf_df_t;
133 |
134 | typedef union beb_option_obj {
135 | struct beb_opt_conf_dl dl; /* data link */
136 | struct beb_opt_conf_ts ts; /* tap/tun stream */
137 | struct beb_opt_conf_br br; /* bridge */
138 | struct beb_opt_conf_df df; /* default */
139 | } beb_option_obj_t;
140 |
141 | /*
142 | * OPTIONS
143 | */
144 | typedef struct beb_option {
145 | dl_ulong type; /* object type */
146 | dl_ulong id; /* object id */
147 | /* followed by object-specific protocol options structure */
148 | beb_option_obj_t options[0];
149 | } beb_option_t;
150 |
151 | #define BEB_IOCGOPTION _IOWR( BEB_IOC_MAGIC, 0, beb_option_t )
152 | #define BEB_IOCSOPTION _IOWR( BEB_IOC_MAGIC, 1, beb_option_t )
153 |
154 | /*
155 | * Data link configuration
156 | */
157 | typedef struct beb_conf_dl {
158 | int muxid; /* lower multiplexor id */
159 | dl_ulong brid; /* bridge id */
160 | } beb_conf_dl_t;
161 |
162 | /*
163 | * Bridge configuration
164 | */
165 | typedef struct beb_conf_br {
166 | } beb_conf_br_t;
167 |
168 | /*
169 | * TAP/TUN stream configuration
170 | */
171 | typedef struct beb_conf_ts {
172 | } beb_conf_ts_t;
173 |
174 | /*
175 | * Default configuration
176 | */
177 | typedef struct beb_conf_df {
178 | } beb_conf_df_t;
179 |
180 | typedef union beb_conf_obj {
181 | struct beb_conf_dl dl; /* data link */
182 | struct beb_conf_br br; /* bridge */
183 | struct beb_conf_ts ts; /* tap/tun stream */
184 | struct beb_conf_df df; /* default */
185 | } beb_conf_obj_t;
186 |
187 | /*
188 | * CONFIGURATION
189 | */
190 | typedef struct beb_config {
191 | dl_ulong type; /* object type */
192 | dl_ulong id; /* object id */
193 | dl_ulong cmd; /* configuration command */
194 | /* followed by object-specific configuration structure */
195 | beb_conf_obj_t config[0];
196 | } beb_config_t;
197 |
198 | #define BEB_GET 0 /* get configuration */
199 | #define BEB_ADD 1 /* add configuration */
200 | #define BEB_CHA 2 /* cha configuration */
201 | #define BEB_DEL 3 /* del configuraiton */
202 |
203 | #define BEB_IOCGCONFIG _IOWR( BEB_IOC_MAGIC, 2, beb_config_t )
204 | #define BEB_IOCSCONFIG _IOWR( BEB_IOC_MAGIC, 3, beb_config_t )
205 | #define BEB_IOCTCONFIG _IOWR( BEB_IOC_MAGIC, 4, beb_config_t )
206 | #define BEB_IOCCCONFIG _IOWR( BEB_IOC_MAGIC, 5, beb_config_t )
207 |
208 | /*
209 | * Data link state
210 | */
211 | typedef struct beb_timers_dl {
212 | } beb_timers_dl_t;
213 | typedef struct beb_statem_dl {
214 | struct beb_timers_dl timers;
215 | } beb_statem_dl_t;
216 |
217 | /*
218 | * Bridge state
219 | */
220 | typedef struct beb_timers_br {
221 | } beb_timers_br_t;
222 | typedef struct beb_statem_br {
223 | struct beb_timers_br timers;
224 | } beb_statem_br_t;
225 |
226 | /*
227 | * Tap/tun state
228 | */
229 | typedef struct beb_timers_ts {
230 | } beb_timers_ts_t;
231 | typedef struct beb_statem_ts {
232 | struct beb_timers_ts timers;
233 | } beb_statem_ts_t;
234 |
235 | /*
236 | * Default state
237 | */
238 | typedef struct beb_timers_df {
239 | } beb_timers_df_t;
240 | typedef struct beb_statem_df {
241 | struct beb_timers_df timers;
242 | } beb_statem_df_t;
243 |
244 | typedef union beb_statem_obj {
245 | struct beb_statem_dl dl; /* data link */
246 | struct beb_statem_br br; /* bridge */
247 | struct beb_statem_ts ts; /* tap/tun stream */
248 | struct beb_statem_df df; /* default */
249 | } beb_statem_obj_t;
250 |
251 | /*
252 | * STATE
253 | */
254 | typedef struct beb_statem {
255 | dl_ulong type; /* object type */
256 | dl_ulong id; /* object id */
257 | dl_ulong flags; /* object flags */
258 | dl_ulong state; /* object state */
259 | /* followed by object-specific state structure */
260 | beb_statem_obj_t statem[0];
261 | } beb_statem_t;
262 |
263 | #define BEB_IOCGSTATEM _IOWR( BEB_IOC_MAGIC, 6, beb_statem_t )
264 | #define BEB_IOCCMRESET _IOWR( BEB_IOC_MAGIC, 7, beb_statem_t )
265 |
266 | /*
267 | * Data link statistics
268 | */
269 | typedef struct beb_stats_dl {
270 | } beb_stats_dl_t;
271 |
272 | /*
273 | * Bridge statistics
274 | */
275 | typedef struct beb_stats_br {
276 | } beb_stats_br_t;
277 |
278 | /*
279 | * Tun/tap stream statistics
280 | */
281 | typedef struct beb_stats_ts {
282 | } beb_stats_ts_t;
283 |
284 | /*
285 | * Default statistics
286 | */
287 | typedef struct beb_stats_df {
288 | } beb_stats_df_t;
289 |
290 | typedef union beb_stats_obj {
291 | struct beb_stats_dl dl; /* data link */
292 | struct beb_stats_br br; /* bridge */
293 | struct beb_stats_ts ts; /* tap/tun stream */
294 | struct beb_stats_df df; /* default */
295 | } beb_stats_obj_t;
296 |
297 | /*
298 | * STATISTICS
299 | */
300 | typedef struct beb_stats {
301 | dl_ulong type; /* object type */
302 | dl_ulong id; /* object id */
303 | dl_ulong header; /* object stats header */
304 | /* followed by object-specific statistics structure */
305 | beb_stats_obj_t stats[0];
306 | } beb_stats_t;
307 |
308 | #define BEB_IOCGSTATSP _IOWR( BEB_IOC_MAGIC, 8, beb_stats_t )
309 | #define BEB_IOCSSTATSP _IOWR( BEB_IOC_MAGIC, 9, beb_stats_t )
310 | #define BEB_IOCGSTATS _IOWR( BEB_IOC_MAGIC, 10, beb_stats_t )
311 | #define BEB_IOCCSTATS _IOWR( BEB_IOC_MAGIC, 11, beb_stats_t )
312 |
313 | /*
314 | * Data link notificiations
315 | */
316 | typedef struct beb_notify_dl {
317 | dl_ulong events;
318 | } beb_notify_dl_t;
319 |
320 | /*
321 | * Bridge notifications
322 | */
323 | typedef struct beb_notify_br {
324 | dl_ulong events;
325 | } beb_notify_br_t;
326 |
327 | /*
328 | * Tap/tun notifications
329 | */
330 | typedef struct beb_notify_ts {
331 | dl_ulong events;
332 | } beb_notify_ts_t;
333 |
334 | /*
335 | * Default notifications
336 | */
337 | typedef struct beb_notify_df {
338 | dl_ulong events;
339 | } beb_notify_df_t;
340 |
341 | typedef union beb_notify_obj {
342 | struct beb_notify_dl dl; /* data link */
343 | struct beb_notify_br br; /* bridge */
344 | struct beb_notify_ts ts; /* tap/tun stream */
345 | struct beb_notify_df df; /* default */
346 | } beb_notify_obj_t;
347 |
348 | /*
349 | * EVENTS
350 | */
351 | typedef struct beb_notify {
352 | dl_ulong type; /* object type */
353 | dl_ulong id; /* object id */
354 | /* followed by object-specific notification structure */
355 | beb_notify_obj_t events[0];
356 | } beb_notify_t;
357 |
358 | #define BEB_IOCGNOTIFY _IOWR( BEB_IOC_MAGIC, 12, beb_notify_t )
359 | #define BEB_IOCSNOTIFY _IOWR( BEB_IOC_MAGIC, 13, beb_notify_t )
360 | #define BEB_IOCCNOTIFY _IOWR( BEB_IOC_MAGIC, 14, beb_notify_t )
361 |
362 | /*
363 | * MANAGEMENT
364 | */
365 | typedef struct beb_mgmt {
366 | dl_ulong type; /* object type */
367 | dl_ulong id; /* object id */
368 | dl_ulong cmd; /* mgmt command */
369 | } beb_mgmt_t;
370 |
371 | #define BEB_IOCCMGMT _IOW( BEB_IOC_MAGIC, 15, beb_mgmt_t )
372 |
373 | /*
374 | * PASS LOWER
375 | */
376 | typedef struct beb_pass {
377 | dl_ulong muxid; /* mux index of lower DL structure to pass message to */
378 | dl_ulong type; /* type of message block */
379 | dl_ulong band; /* band of message block */
380 | dl_ulong ctl_length; /* length of cntl part */
381 | dl_ulong dat_length; /* length of data part */
382 | /* followed by cntl and data part of message to pass to data link */
383 | } beb_pass_t;
384 |
385 | #define BEB_IOCCPASS _IOW( BEB_IOC_MAGIC, 16, beb_pass_t )
386 |
387 | #define BEB_IOC_FIRST 0
388 | #define BEB_IOC_LAST 15
389 | #define BEB_IOC_PRIVATE 32
390 |
391 | #endif /* __BEB_IOCTL_H__ */
392 |
--------------------------------------------------------------------------------
/src/snmp/lldpXDot1EvbExtensions.h:
--------------------------------------------------------------------------------
1 | /*****************************************************************************
2 |
3 | @(#) src/snmp/lldpxdot1evbextensions.h
4 |
5 | -----------------------------------------------------------------------------
6 |
7 | Copyright (c) 2008-2015 Monavacon Limited
8 | Copyright (c) 2001-2008 OpenSS7 Corporation
9 | Copyright (c) 1997-2001 Brian F. G. Bidulock
10 |
11 | All Rights Reserved.
12 |
13 | This program is free software; you can redistribute it and/or modify it under
14 | the terms of the GNU Affero General Public License as published by the Free
15 | Software Foundation; version 3 of the License.
16 |
17 | This program is distributed in the hope that it will be useful, but WITHOUT
18 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
19 | FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
20 | details.
21 |
22 | You should have received a copy of the GNU Affero General Public License
23 | along with this program. If not, see , or
24 | write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
25 | 02139, USA.
26 |
27 | -----------------------------------------------------------------------------
28 |
29 | U.S. GOVERNMENT RESTRICTED RIGHTS. If you are licensing this Software on
30 | behalf of the U.S. Government ("Government"), the following provisions apply
31 | to you. If the Software is supplied by the Department of Defense ("DoD"), it
32 | is classified as "Commercial Computer Software" under paragraph 252.227-7014
33 | of the DoD Supplement to the Federal Acquisition Regulations ("DFARS") (or any
34 | successor regulations) and the Government is acquiring only the license rights
35 | granted herein (the license rights customarily provided to non-Government
36 | users). If the Software is supplied to any unit or agency of the Government
37 | other than DoD, it is classified as "Restricted Computer Software" and the
38 | Government's rights in the Software are defined in paragraph 52.227-19 of the
39 | Federal Acquisition Regulations ("FAR") (or any successor regulations) or, in
40 | the cases of NASA, in paragraph 18.52.227-86 of the NASA Supplement to the FAR
41 | (or any successor regulations).
42 |
43 | -----------------------------------------------------------------------------
44 |
45 | Commercial licensing and support of this software is available from OpenSS7
46 | Corporation at a fee. See http://www.openss7.com/
47 |
48 | *****************************************************************************/
49 |
50 | #ifndef __LOCAL_LLDPXDOT1EVBEXTENSIONS_H__
51 | #define __LOCAL_LLDPXDOT1EVBEXTENSIONS_H__
52 |
53 | /*
54 | * This file was generated by mib2c and is intended for use as a mib module
55 | * for the ucd-snmp snmpd agent.
56 | */
57 |
58 | extern const char sa_program[];
59 | extern int sa_fclose; /* default close files between requests */
60 | extern int sa_changed; /* indication to reread MIB configuration */
61 | extern int sa_stats_refresh; /* indications that statistics, the mib or its tables need to be refreshed */
62 | extern int sa_request; /* request number for per-request actions */
63 |
64 | /* our storage structure(s) */
65 | struct lldpXDot1EvbExtensions_data {
66 | struct lldpXDot1EvbExtensions_data *lldpXDot1EvbExtensions_old;
67 | uint lldpXDot1EvbExtensions_rsvs;
68 | uint lldpXDot1EvbExtensions_tsts;
69 | uint lldpXDot1EvbExtensions_sets;
70 | uint lldpXDot1EvbExtensions_request;
71 | };
72 | struct lldpXdot1EvbConfigEvbTable_data {
73 | struct lldpXdot1EvbConfigEvbTable_data *lldpXdot1EvbConfigEvbTable_old;
74 | uint lldpXdot1EvbConfigEvbTable_rsvs;
75 | uint lldpXdot1EvbConfigEvbTable_tsts;
76 | uint lldpXdot1EvbConfigEvbTable_sets;
77 | uint lldpXdot1EvbConfigEvbTable_request;
78 | uint lldpXdot1EvbConfigEvbTable_refs;
79 | uint lldpXdot1EvbConfigEvbTable_id;
80 | long lldpV2PortConfigIfIndex; /* NoAccess */
81 | ulong lldpV2PortConfigDestAddressIndex; /* NoAccess */
82 | long lldpXdot1EvbConfigEvbTxEnable; /* ReadWrite */
83 | };
84 | struct lldpXdot1EvbConfigCdcpTable_data {
85 | struct lldpXdot1EvbConfigCdcpTable_data *lldpXdot1EvbConfigCdcpTable_old;
86 | uint lldpXdot1EvbConfigCdcpTable_rsvs;
87 | uint lldpXdot1EvbConfigCdcpTable_tsts;
88 | uint lldpXdot1EvbConfigCdcpTable_sets;
89 | uint lldpXdot1EvbConfigCdcpTable_request;
90 | uint lldpXdot1EvbConfigCdcpTable_refs;
91 | uint lldpXdot1EvbConfigCdcpTable_id;
92 | long lldpV2PortConfigIfIndex; /* NoAccess */
93 | ulong lldpV2PortConfigDestAddressIndex; /* NoAccess */
94 | long lldpXdot1EvbConfigCdcpTxEnable; /* ReadWrite */
95 | };
96 | struct lldpV2Xdot1LocEvbTlvTable_data {
97 | struct lldpV2Xdot1LocEvbTlvTable_data *lldpV2Xdot1LocEvbTlvTable_old;
98 | uint lldpV2Xdot1LocEvbTlvTable_rsvs;
99 | uint lldpV2Xdot1LocEvbTlvTable_tsts;
100 | uint lldpV2Xdot1LocEvbTlvTable_sets;
101 | uint lldpV2Xdot1LocEvbTlvTable_request;
102 | uint lldpV2Xdot1LocEvbTlvTable_refs;
103 | uint lldpV2Xdot1LocEvbTlvTable_id;
104 | long lldpV2LocPortIfIndex; /* NoAccess */
105 | uint8_t *lldpV2Xdot1LocEvbTlvString; /* ReadOnly */
106 | size_t lldpV2Xdot1LocEvbTlvStringLen;
107 | };
108 | struct lldpV2Xdot1LocCdcpTlvTable_data {
109 | struct lldpV2Xdot1LocCdcpTlvTable_data *lldpV2Xdot1LocCdcpTlvTable_old;
110 | uint lldpV2Xdot1LocCdcpTlvTable_rsvs;
111 | uint lldpV2Xdot1LocCdcpTlvTable_tsts;
112 | uint lldpV2Xdot1LocCdcpTlvTable_sets;
113 | uint lldpV2Xdot1LocCdcpTlvTable_request;
114 | uint lldpV2Xdot1LocCdcpTlvTable_refs;
115 | uint lldpV2Xdot1LocCdcpTlvTable_id;
116 | long lldpV2LocPortIfIndex; /* NoAccess */
117 | uint8_t *lldpV2Xdot1LocCdcpTlvString; /* ReadOnly */
118 | size_t lldpV2Xdot1LocCdcpTlvStringLen;
119 | };
120 | struct lldpV2Xdot1RemEvbTlvTable_data {
121 | struct lldpV2Xdot1RemEvbTlvTable_data *lldpV2Xdot1RemEvbTlvTable_old;
122 | uint lldpV2Xdot1RemEvbTlvTable_rsvs;
123 | uint lldpV2Xdot1RemEvbTlvTable_tsts;
124 | uint lldpV2Xdot1RemEvbTlvTable_sets;
125 | uint lldpV2Xdot1RemEvbTlvTable_request;
126 | uint lldpV2Xdot1RemEvbTlvTable_refs;
127 | uint lldpV2Xdot1RemEvbTlvTable_id;
128 | long lldpV2RemTimeMark; /* NoAccess */
129 | long lldpV2RemLocalIfIndex; /* NoAccess */
130 | ulong lldpV2RemLocalDestMACAddress; /* NoAccess */
131 | ulong lldpV2RemIndex; /* NoAccess */
132 | uint8_t *lldpV2Xdot1RemEvbTlvString; /* ReadOnly */
133 | size_t lldpV2Xdot1RemEvbTlvStringLen;
134 | };
135 | struct lldpV2Xdot1RemCdcpTlvTable_data {
136 | struct lldpV2Xdot1RemCdcpTlvTable_data *lldpV2Xdot1RemCdcpTlvTable_old;
137 | uint lldpV2Xdot1RemCdcpTlvTable_rsvs;
138 | uint lldpV2Xdot1RemCdcpTlvTable_tsts;
139 | uint lldpV2Xdot1RemCdcpTlvTable_sets;
140 | uint lldpV2Xdot1RemCdcpTlvTable_request;
141 | uint lldpV2Xdot1RemCdcpTlvTable_refs;
142 | uint lldpV2Xdot1RemCdcpTlvTable_id;
143 | long lldpV2RemTimeMark; /* NoAccess */
144 | long lldpV2RemLocalIfIndex; /* NoAccess */
145 | ulong lldpV2RemLocalDestMACAddress; /* NoAccess */
146 | ulong lldpV2RemIndex; /* NoAccess */
147 | uint8_t *lldpV2Xdot1RemCdcpTlvString; /* ReadOnly */
148 | size_t lldpV2Xdot1RemCdcpTlvStringLen;
149 | };
150 |
151 | /* storage declarations */
152 | extern struct lldpXDot1EvbExtensions_data *lldpXDot1EvbExtensionsStorage;
153 | extern struct header_complex_index *lldpXdot1EvbConfigEvbTableStorage;
154 | extern struct header_complex_index *lldpXdot1EvbConfigCdcpTableStorage;
155 | extern struct header_complex_index *lldpV2Xdot1LocEvbTlvTableStorage;
156 | extern struct header_complex_index *lldpV2Xdot1LocCdcpTlvTableStorage;
157 | extern struct header_complex_index *lldpV2Xdot1RemEvbTlvTableStorage;
158 | extern struct header_complex_index *lldpV2Xdot1RemCdcpTlvTableStorage;
159 |
160 | /* enum definitions from the covered mib sections */
161 |
162 | #define LLDPXDOT1EVBCONFIGEVBTXENABLE_TRUE 1
163 | #define LLDPXDOT1EVBCONFIGEVBTXENABLE_FALSE 2
164 |
165 | #define LLDPXDOT1EVBCONFIGCDCPTXENABLE_TRUE 1
166 | #define LLDPXDOT1EVBCONFIGCDCPTXENABLE_FALSE 2
167 |
168 | /* notifications */
169 |
170 | /* scalars accessible only for notify */
171 |
172 | /* object id definitions */
173 | extern oid lldpXdot1EvbCompliance_oid[16];
174 | extern oid lldpXdot1EvbGroup_oid[16];
175 |
176 | /* function prototypes */
177 | /* trap function prototypes */
178 |
179 | /* variable function prototypes */
180 | void init_lldpXDot1EvbExtensions(void);
181 | void deinit_lldpXDot1EvbExtensions(void);
182 | int term_lldpXDot1EvbExtensions(int majorID, int minorID, void *serverarg, void *clientarg);
183 | FindVarMethod var_lldpXDot1EvbExtensions;
184 | struct lldpXDot1EvbExtensions_data *lldpXDot1EvbExtensions_create(void);
185 | struct lldpXDot1EvbExtensions_data *lldpXDot1EvbExtensions_duplicate(struct lldpXDot1EvbExtensions_data *);
186 | int lldpXDot1EvbExtensions_destroy(struct lldpXDot1EvbExtensions_data **);
187 | int lldpXDot1EvbExtensions_add(struct lldpXDot1EvbExtensions_data *);
188 | void parse_lldpXDot1EvbExtensions(const char *, char *);
189 | SNMPCallback store_lldpXDot1EvbExtensions;
190 | void refresh_lldpXDot1EvbExtensions(int);
191 | FindVarMethod var_lldpXdot1EvbConfigEvbTable;
192 | struct lldpXdot1EvbConfigEvbTable_data *lldpXdot1EvbConfigEvbTable_create(void);
193 | struct lldpXdot1EvbConfigEvbTable_data *lldpXdot1EvbConfigEvbTable_duplicate(struct lldpXdot1EvbConfigEvbTable_data *);
194 | int lldpXdot1EvbConfigEvbTable_destroy(struct lldpXdot1EvbConfigEvbTable_data **);
195 | int lldpXdot1EvbConfigEvbTable_add(struct lldpXdot1EvbConfigEvbTable_data *);
196 | int lldpXdot1EvbConfigEvbTable_del(struct lldpXdot1EvbConfigEvbTable_data *);
197 | void parse_lldpXdot1EvbConfigEvbTable(const char *, char *);
198 | SNMPCallback store_lldpXdot1EvbConfigEvbTable;
199 | void refresh_lldpXdot1EvbConfigEvbTable(int);
200 | FindVarMethod var_lldpXdot1EvbConfigCdcpTable;
201 | struct lldpXdot1EvbConfigCdcpTable_data *lldpXdot1EvbConfigCdcpTable_create(void);
202 | struct lldpXdot1EvbConfigCdcpTable_data *lldpXdot1EvbConfigCdcpTable_duplicate(struct lldpXdot1EvbConfigCdcpTable_data *);
203 | int lldpXdot1EvbConfigCdcpTable_destroy(struct lldpXdot1EvbConfigCdcpTable_data **);
204 | int lldpXdot1EvbConfigCdcpTable_add(struct lldpXdot1EvbConfigCdcpTable_data *);
205 | int lldpXdot1EvbConfigCdcpTable_del(struct lldpXdot1EvbConfigCdcpTable_data *);
206 | void parse_lldpXdot1EvbConfigCdcpTable(const char *, char *);
207 | SNMPCallback store_lldpXdot1EvbConfigCdcpTable;
208 | void refresh_lldpXdot1EvbConfigCdcpTable(int);
209 | FindVarMethod var_lldpV2Xdot1LocEvbTlvTable;
210 | struct lldpV2Xdot1LocEvbTlvTable_data *lldpV2Xdot1LocEvbTlvTable_create(void);
211 | struct lldpV2Xdot1LocEvbTlvTable_data *lldpV2Xdot1LocEvbTlvTable_duplicate(struct lldpV2Xdot1LocEvbTlvTable_data *);
212 | int lldpV2Xdot1LocEvbTlvTable_destroy(struct lldpV2Xdot1LocEvbTlvTable_data **);
213 | int lldpV2Xdot1LocEvbTlvTable_add(struct lldpV2Xdot1LocEvbTlvTable_data *);
214 | int lldpV2Xdot1LocEvbTlvTable_del(struct lldpV2Xdot1LocEvbTlvTable_data *);
215 | void parse_lldpV2Xdot1LocEvbTlvTable(const char *, char *);
216 | SNMPCallback store_lldpV2Xdot1LocEvbTlvTable;
217 | void refresh_lldpV2Xdot1LocEvbTlvTable(int);
218 | FindVarMethod var_lldpV2Xdot1LocCdcpTlvTable;
219 | struct lldpV2Xdot1LocCdcpTlvTable_data *lldpV2Xdot1LocCdcpTlvTable_create(void);
220 | struct lldpV2Xdot1LocCdcpTlvTable_data *lldpV2Xdot1LocCdcpTlvTable_duplicate(struct lldpV2Xdot1LocCdcpTlvTable_data *);
221 | int lldpV2Xdot1LocCdcpTlvTable_destroy(struct lldpV2Xdot1LocCdcpTlvTable_data **);
222 | int lldpV2Xdot1LocCdcpTlvTable_add(struct lldpV2Xdot1LocCdcpTlvTable_data *);
223 | int lldpV2Xdot1LocCdcpTlvTable_del(struct lldpV2Xdot1LocCdcpTlvTable_data *);
224 | void parse_lldpV2Xdot1LocCdcpTlvTable(const char *, char *);
225 | SNMPCallback store_lldpV2Xdot1LocCdcpTlvTable;
226 | void refresh_lldpV2Xdot1LocCdcpTlvTable(int);
227 | FindVarMethod var_lldpV2Xdot1RemEvbTlvTable;
228 | struct lldpV2Xdot1RemEvbTlvTable_data *lldpV2Xdot1RemEvbTlvTable_create(void);
229 | struct lldpV2Xdot1RemEvbTlvTable_data *lldpV2Xdot1RemEvbTlvTable_duplicate(struct lldpV2Xdot1RemEvbTlvTable_data *);
230 | int lldpV2Xdot1RemEvbTlvTable_destroy(struct lldpV2Xdot1RemEvbTlvTable_data **);
231 | int lldpV2Xdot1RemEvbTlvTable_add(struct lldpV2Xdot1RemEvbTlvTable_data *);
232 | int lldpV2Xdot1RemEvbTlvTable_del(struct lldpV2Xdot1RemEvbTlvTable_data *);
233 | void parse_lldpV2Xdot1RemEvbTlvTable(const char *, char *);
234 | SNMPCallback store_lldpV2Xdot1RemEvbTlvTable;
235 | void refresh_lldpV2Xdot1RemEvbTlvTable(int);
236 | FindVarMethod var_lldpV2Xdot1RemCdcpTlvTable;
237 | struct lldpV2Xdot1RemCdcpTlvTable_data *lldpV2Xdot1RemCdcpTlvTable_create(void);
238 | struct lldpV2Xdot1RemCdcpTlvTable_data *lldpV2Xdot1RemCdcpTlvTable_duplicate(struct lldpV2Xdot1RemCdcpTlvTable_data *);
239 | int lldpV2Xdot1RemCdcpTlvTable_destroy(struct lldpV2Xdot1RemCdcpTlvTable_data **);
240 | int lldpV2Xdot1RemCdcpTlvTable_add(struct lldpV2Xdot1RemCdcpTlvTable_data *);
241 | int lldpV2Xdot1RemCdcpTlvTable_del(struct lldpV2Xdot1RemCdcpTlvTable_data *);
242 | void parse_lldpV2Xdot1RemCdcpTlvTable(const char *, char *);
243 | SNMPCallback store_lldpV2Xdot1RemCdcpTlvTable;
244 | void refresh_lldpV2Xdot1RemCdcpTlvTable(int);
245 |
246 | WriteMethod write_lldpXdot1EvbConfigEvbTxEnable;
247 | WriteMethod write_lldpXdot1EvbConfigCdcpTxEnable;
248 | #endif /* __LOCAL_LLDPXDOT1EVBEXTENSIONS_H__ */
249 |
--------------------------------------------------------------------------------
/src/snmp/ieee8021EcmpMib.h:
--------------------------------------------------------------------------------
1 | /*****************************************************************************
2 |
3 | @(#) src/snmp/ieee8021ecmpmib.h
4 |
5 | -----------------------------------------------------------------------------
6 |
7 | Copyright (c) 2008-2015 Monavacon Limited
8 | Copyright (c) 2001-2008 OpenSS7 Corporation
9 | Copyright (c) 1997-2001 Brian F. G. Bidulock
10 |
11 | All Rights Reserved.
12 |
13 | This program is free software; you can redistribute it and/or modify it under
14 | the terms of the GNU Affero General Public License as published by the Free
15 | Software Foundation; version 3 of the License.
16 |
17 | This program is distributed in the hope that it will be useful, but WITHOUT
18 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
19 | FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
20 | details.
21 |
22 | You should have received a copy of the GNU Affero General Public License
23 | along with this program. If not, see , or
24 | write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
25 | 02139, USA.
26 |
27 | -----------------------------------------------------------------------------
28 |
29 | U.S. GOVERNMENT RESTRICTED RIGHTS. If you are licensing this Software on
30 | behalf of the U.S. Government ("Government"), the following provisions apply
31 | to you. If the Software is supplied by the Department of Defense ("DoD"), it
32 | is classified as "Commercial Computer Software" under paragraph 252.227-7014
33 | of the DoD Supplement to the Federal Acquisition Regulations ("DFARS") (or any
34 | successor regulations) and the Government is acquiring only the license rights
35 | granted herein (the license rights customarily provided to non-Government
36 | users). If the Software is supplied to any unit or agency of the Government
37 | other than DoD, it is classified as "Restricted Computer Software" and the
38 | Government's rights in the Software are defined in paragraph 52.227-19 of the
39 | Federal Acquisition Regulations ("FAR") (or any successor regulations) or, in
40 | the cases of NASA, in paragraph 18.52.227-86 of the NASA Supplement to the FAR
41 | (or any successor regulations).
42 |
43 | -----------------------------------------------------------------------------
44 |
45 | Commercial licensing and support of this software is available from OpenSS7
46 | Corporation at a fee. See http://www.openss7.com/
47 |
48 | *****************************************************************************/
49 |
50 | #ifndef __LOCAL_IEEE8021ECMPMIB_H__
51 | #define __LOCAL_IEEE8021ECMPMIB_H__
52 |
53 | /*
54 | * This file was generated by mib2c and is intended for use as a mib module
55 | * for the ucd-snmp snmpd agent.
56 | */
57 |
58 | extern const char sa_program[];
59 | extern int sa_fclose; /* default close files between requests */
60 | extern int sa_changed; /* indication to reread MIB configuration */
61 | extern int sa_stats_refresh; /* indications that statistics, the mib or its tables need to be refreshed */
62 | extern int sa_request; /* request number for per-request actions */
63 |
64 | /* our storage structure(s) */
65 | struct ieee8021EcmpMib_data {
66 | struct ieee8021EcmpMib_data *ieee8021EcmpMib_old;
67 | uint ieee8021EcmpMib_rsvs;
68 | uint ieee8021EcmpMib_tsts;
69 | uint ieee8021EcmpMib_sets;
70 | uint ieee8021EcmpMib_request;
71 | };
72 | struct ieee8021QBridgeEcmpFdbTable_data {
73 | struct ieee8021QBridgeEcmpFdbTable_data *ieee8021QBridgeEcmpFdbTable_old;
74 | uint ieee8021QBridgeEcmpFdbTable_rsvs;
75 | uint ieee8021QBridgeEcmpFdbTable_tsts;
76 | uint ieee8021QBridgeEcmpFdbTable_sets;
77 | uint ieee8021QBridgeEcmpFdbTable_request;
78 | uint ieee8021QBridgeEcmpFdbTable_refs;
79 | uint ieee8021QBridgeEcmpFdbTable_id;
80 | ulong ieee8021QBridgeFdbComponentId; /* NoAccess */
81 | ulong ieee8021QBridgeFdbId; /* NoAccess */
82 | uint8_t *ieee8021QBridgeTpFdbAddress; /* NoAccess */
83 | size_t ieee8021QBridgeTpFdbAddressLen;
84 | uint8_t *ieee8021QBridgeEcmpFdbPortList; /* ReadOnly */
85 | size_t ieee8021QBridgeEcmpFdbPortListLen;
86 | };
87 | struct ieee8021EcmpFlowFilterCtlTable_data {
88 | struct ieee8021EcmpFlowFilterCtlTable_data *ieee8021EcmpFlowFilterCtlTable_old;
89 | uint ieee8021EcmpFlowFilterCtlTable_rsvs;
90 | uint ieee8021EcmpFlowFilterCtlTable_tsts;
91 | uint ieee8021EcmpFlowFilterCtlTable_sets;
92 | uint ieee8021EcmpFlowFilterCtlTable_request;
93 | uint ieee8021EcmpFlowFilterCtlTable_refs;
94 | uint ieee8021EcmpFlowFilterCtlTable_id;
95 | ulong ieee8021BridgeBasePortComponentId; /* NoAccess */
96 | ulong ieee8021BridgeBasePort; /* NoAccess */
97 | long ieee8021EcmpFlowFilterCtlVid; /* NoAccess */
98 | long ieee8021EcmpFlowFilterCtlEnabled; /* ReadOnly */
99 | long ieee8021EcmpFlowFilterCtlHashGen; /* ReadOnly */
100 | long ieee8021EcmpFlowFilterCtlTtl; /* ReadWrite */
101 | };
102 | struct ieee8021EcmpEctStaticTable_data {
103 | struct ieee8021EcmpEctStaticTable_data *ieee8021EcmpEctStaticTable_old;
104 | uint ieee8021EcmpEctStaticTable_rsvs;
105 | uint ieee8021EcmpEctStaticTable_tsts;
106 | uint ieee8021EcmpEctStaticTable_sets;
107 | uint ieee8021EcmpEctStaticTable_request;
108 | uint ieee8021EcmpEctStaticTable_refs;
109 | uint ieee8021EcmpEctStaticTable_id;
110 | ulong ieee8021SpbTopIx; /* NoAccess */
111 | long ieee8021EcmpEctStaticEntryTieBreakMask; /* NoAccess */
112 | uint8_t *ieee8021EcmpEctStaticEntryBridgePriority; /* Create */
113 | size_t ieee8021EcmpEctStaticEntryBridgePriorityLen;
114 | long ieee8021EcmpEctStaticEntryRowStatus; /* Create */
115 | };
116 | struct ieee8021EcmpTopSrvTable_data {
117 | struct ieee8021EcmpTopSrvTable_data *ieee8021EcmpTopSrvTable_old;
118 | uint ieee8021EcmpTopSrvTable_rsvs;
119 | uint ieee8021EcmpTopSrvTable_tsts;
120 | uint ieee8021EcmpTopSrvTable_sets;
121 | uint ieee8021EcmpTopSrvTable_request;
122 | uint ieee8021EcmpTopSrvTable_refs;
123 | uint ieee8021EcmpTopSrvTable_id;
124 | ulong ieee8021SpbmTopSrvEntryTopIx; /* NoAccess */
125 | uint8_t *ieee8021SpbmTopSrvEntrySysId; /* NoAccess */
126 | size_t ieee8021SpbmTopSrvEntrySysIdLen;
127 | ulong ieee8021SpbmTopSrvEntryIsid; /* NoAccess */
128 | long ieee8021SpbmTopSrvEntryBaseVid; /* NoAccess */
129 | uint8_t *ieee8021SpbmTopSrvEntryMac; /* NoAccess */
130 | size_t ieee8021SpbmTopSrvEntryMacLen;
131 | long ieee8021EcmpTopSrvEntryTsBit; /* ReadOnly */
132 | long ieee8021EcmpTopSrvEntryTieBreakMask; /* ReadOnly */
133 | };
134 | struct ieee8021QBridgePortVlanTtlStatisticsTable_data {
135 | struct ieee8021QBridgePortVlanTtlStatisticsTable_data *ieee8021QBridgePortVlanTtlStatisticsTable_old;
136 | uint ieee8021QBridgePortVlanTtlStatisticsTable_rsvs;
137 | uint ieee8021QBridgePortVlanTtlStatisticsTable_tsts;
138 | uint ieee8021QBridgePortVlanTtlStatisticsTable_sets;
139 | uint ieee8021QBridgePortVlanTtlStatisticsTable_request;
140 | uint ieee8021QBridgePortVlanTtlStatisticsTable_refs;
141 | uint ieee8021QBridgePortVlanTtlStatisticsTable_id;
142 | ulong ieee8021BridgeBasePortComponentId; /* NoAccess */
143 | ulong ieee8021BridgeBasePort; /* NoAccess */
144 | ulong ieee8021QBridgeVlanIndex; /* NoAccess */
145 | struct counter64 ieee8021QBridgeTpVlanPortTtlDiscards; /* ReadOnly */
146 | };
147 |
148 | /* storage declarations */
149 | extern struct ieee8021EcmpMib_data *ieee8021EcmpMibStorage;
150 | extern struct header_complex_index *ieee8021QBridgeEcmpFdbTableStorage;
151 | extern struct header_complex_index *ieee8021EcmpFlowFilterCtlTableStorage;
152 | extern struct header_complex_index *ieee8021EcmpEctStaticTableStorage;
153 | extern struct header_complex_index *ieee8021EcmpTopSrvTableStorage;
154 | extern struct header_complex_index *ieee8021QBridgePortVlanTtlStatisticsTableStorage;
155 |
156 | /* enum definitions from the covered mib sections */
157 |
158 | #define IEEE8021ECMPFLOWFILTERCTLENABLED_TRUE 1
159 | #define IEEE8021ECMPFLOWFILTERCTLENABLED_FALSE 2
160 |
161 | #define IEEE8021ECMPFLOWFILTERCTLHASHGEN_TRUE 1
162 | #define IEEE8021ECMPFLOWFILTERCTLHASHGEN_FALSE 2
163 |
164 | #define IEEE8021ECMPTOPSRVENTRYTSBIT_TRUE 1
165 | #define IEEE8021ECMPTOPSRVENTRYTSBIT_FALSE 2
166 |
167 | /* notifications */
168 |
169 | /* scalars accessible only for notify */
170 |
171 | /* object id definitions */
172 | extern oid ieee8021QBridgeEcmpFdbGroup_oid[11];
173 | extern oid ieee8021EcmpFlowFilterCtlGroup_oid[11];
174 | extern oid ieee8021EcmpEctStaticGroup_oid[11];
175 | extern oid ieee8021EcmpTopSrvGroup_oid[11];
176 | extern oid ieee8021QBridgePortVlanTtlStatisticsGroup_oid[11];
177 | extern oid ieee8021EcmpCompliance_oid[11];
178 | extern oid ieee8021EcmpFlowFilteringCompliance_oid[11];
179 |
180 | /* function prototypes */
181 | /* trap function prototypes */
182 |
183 | /* variable function prototypes */
184 | void init_ieee8021EcmpMib(void);
185 | void deinit_ieee8021EcmpMib(void);
186 | int term_ieee8021EcmpMib(int majorID, int minorID, void *serverarg, void *clientarg);
187 | FindVarMethod var_ieee8021EcmpMib;
188 | struct ieee8021EcmpMib_data *ieee8021EcmpMib_create(void);
189 | struct ieee8021EcmpMib_data *ieee8021EcmpMib_duplicate(struct ieee8021EcmpMib_data *);
190 | int ieee8021EcmpMib_destroy(struct ieee8021EcmpMib_data **);
191 | int ieee8021EcmpMib_add(struct ieee8021EcmpMib_data *);
192 | void parse_ieee8021EcmpMib(const char *, char *);
193 | SNMPCallback store_ieee8021EcmpMib;
194 | void refresh_ieee8021EcmpMib(int);
195 | FindVarMethod var_ieee8021QBridgeEcmpFdbTable;
196 | struct ieee8021QBridgeEcmpFdbTable_data *ieee8021QBridgeEcmpFdbTable_create(void);
197 | struct ieee8021QBridgeEcmpFdbTable_data *ieee8021QBridgeEcmpFdbTable_duplicate(struct ieee8021QBridgeEcmpFdbTable_data *);
198 | int ieee8021QBridgeEcmpFdbTable_destroy(struct ieee8021QBridgeEcmpFdbTable_data **);
199 | int ieee8021QBridgeEcmpFdbTable_add(struct ieee8021QBridgeEcmpFdbTable_data *);
200 | int ieee8021QBridgeEcmpFdbTable_del(struct ieee8021QBridgeEcmpFdbTable_data *);
201 | void parse_ieee8021QBridgeEcmpFdbTable(const char *, char *);
202 | SNMPCallback store_ieee8021QBridgeEcmpFdbTable;
203 | void refresh_ieee8021QBridgeEcmpFdbTable(int);
204 | FindVarMethod var_ieee8021EcmpFlowFilterCtlTable;
205 | struct ieee8021EcmpFlowFilterCtlTable_data *ieee8021EcmpFlowFilterCtlTable_create(void);
206 | struct ieee8021EcmpFlowFilterCtlTable_data *ieee8021EcmpFlowFilterCtlTable_duplicate(struct ieee8021EcmpFlowFilterCtlTable_data *);
207 | int ieee8021EcmpFlowFilterCtlTable_destroy(struct ieee8021EcmpFlowFilterCtlTable_data **);
208 | int ieee8021EcmpFlowFilterCtlTable_add(struct ieee8021EcmpFlowFilterCtlTable_data *);
209 | int ieee8021EcmpFlowFilterCtlTable_del(struct ieee8021EcmpFlowFilterCtlTable_data *);
210 | void parse_ieee8021EcmpFlowFilterCtlTable(const char *, char *);
211 | SNMPCallback store_ieee8021EcmpFlowFilterCtlTable;
212 | void refresh_ieee8021EcmpFlowFilterCtlTable(int);
213 | FindVarMethod var_ieee8021EcmpEctStaticTable;
214 | struct ieee8021EcmpEctStaticTable_data *ieee8021EcmpEctStaticTable_create(void);
215 | struct ieee8021EcmpEctStaticTable_data *ieee8021EcmpEctStaticTable_duplicate(struct ieee8021EcmpEctStaticTable_data *);
216 | int ieee8021EcmpEctStaticTable_destroy(struct ieee8021EcmpEctStaticTable_data **);
217 | int ieee8021EcmpEctStaticTable_add(struct ieee8021EcmpEctStaticTable_data *);
218 | int ieee8021EcmpEctStaticTable_del(struct ieee8021EcmpEctStaticTable_data *);
219 | void parse_ieee8021EcmpEctStaticTable(const char *, char *);
220 | SNMPCallback store_ieee8021EcmpEctStaticTable;
221 | void refresh_ieee8021EcmpEctStaticTable(int);
222 | FindVarMethod var_ieee8021EcmpTopSrvTable;
223 | struct ieee8021EcmpTopSrvTable_data *ieee8021EcmpTopSrvTable_create(void);
224 | struct ieee8021EcmpTopSrvTable_data *ieee8021EcmpTopSrvTable_duplicate(struct ieee8021EcmpTopSrvTable_data *);
225 | int ieee8021EcmpTopSrvTable_destroy(struct ieee8021EcmpTopSrvTable_data **);
226 | int ieee8021EcmpTopSrvTable_add(struct ieee8021EcmpTopSrvTable_data *);
227 | int ieee8021EcmpTopSrvTable_del(struct ieee8021EcmpTopSrvTable_data *);
228 | void parse_ieee8021EcmpTopSrvTable(const char *, char *);
229 | SNMPCallback store_ieee8021EcmpTopSrvTable;
230 | void refresh_ieee8021EcmpTopSrvTable(int);
231 | FindVarMethod var_ieee8021QBridgePortVlanTtlStatisticsTable;
232 | struct ieee8021QBridgePortVlanTtlStatisticsTable_data *ieee8021QBridgePortVlanTtlStatisticsTable_create(void);
233 | struct ieee8021QBridgePortVlanTtlStatisticsTable_data *ieee8021QBridgePortVlanTtlStatisticsTable_duplicate(struct ieee8021QBridgePortVlanTtlStatisticsTable_data *);
234 | int ieee8021QBridgePortVlanTtlStatisticsTable_destroy(struct ieee8021QBridgePortVlanTtlStatisticsTable_data **);
235 | int ieee8021QBridgePortVlanTtlStatisticsTable_add(struct ieee8021QBridgePortVlanTtlStatisticsTable_data *);
236 | int ieee8021QBridgePortVlanTtlStatisticsTable_del(struct ieee8021QBridgePortVlanTtlStatisticsTable_data *);
237 | void parse_ieee8021QBridgePortVlanTtlStatisticsTable(const char *, char *);
238 | SNMPCallback store_ieee8021QBridgePortVlanTtlStatisticsTable;
239 | void refresh_ieee8021QBridgePortVlanTtlStatisticsTable(int);
240 |
241 | WriteMethod write_ieee8021EcmpFlowFilterCtlTtl;
242 | WriteMethod write_ieee8021EcmpEctStaticEntryBridgePriority;
243 | WriteMethod write_ieee8021EcmpEctStaticEntryRowStatus;
244 | #endif /* __LOCAL_IEEE8021ECMPMIB_H__ */
245 |
--------------------------------------------------------------------------------
/src/snmp/ieee8021TpmrMib.h:
--------------------------------------------------------------------------------
1 | /*****************************************************************************
2 |
3 | @(#) src/snmp/ieee8021tpmrmib.h
4 |
5 | -----------------------------------------------------------------------------
6 |
7 | Copyright (c) 2008-2015 Monavacon Limited
8 | Copyright (c) 2001-2008 OpenSS7 Corporation
9 | Copyright (c) 1997-2001 Brian F. G. Bidulock
10 |
11 | All Rights Reserved.
12 |
13 | This program is free software; you can redistribute it and/or modify it under
14 | the terms of the GNU Affero General Public License as published by the Free
15 | Software Foundation; version 3 of the License.
16 |
17 | This program is distributed in the hope that it will be useful, but WITHOUT
18 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
19 | FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
20 | details.
21 |
22 | You should have received a copy of the GNU Affero General Public License
23 | along with this program. If not, see , or
24 | write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
25 | 02139, USA.
26 |
27 | -----------------------------------------------------------------------------
28 |
29 | U.S. GOVERNMENT RESTRICTED RIGHTS. If you are licensing this Software on
30 | behalf of the U.S. Government ("Government"), the following provisions apply
31 | to you. If the Software is supplied by the Department of Defense ("DoD"), it
32 | is classified as "Commercial Computer Software" under paragraph 252.227-7014
33 | of the DoD Supplement to the Federal Acquisition Regulations ("DFARS") (or any
34 | successor regulations) and the Government is acquiring only the license rights
35 | granted herein (the license rights customarily provided to non-Government
36 | users). If the Software is supplied to any unit or agency of the Government
37 | other than DoD, it is classified as "Restricted Computer Software" and the
38 | Government's rights in the Software are defined in paragraph 52.227-19 of the
39 | Federal Acquisition Regulations ("FAR") (or any successor regulations) or, in
40 | the cases of NASA, in paragraph 18.52.227-86 of the NASA Supplement to the FAR
41 | (or any successor regulations).
42 |
43 | -----------------------------------------------------------------------------
44 |
45 | Commercial licensing and support of this software is available from OpenSS7
46 | Corporation at a fee. See http://www.openss7.com/
47 |
48 | *****************************************************************************/
49 |
50 | #ifndef __LOCAL_IEEE8021TPMRMIB_H__
51 | #define __LOCAL_IEEE8021TPMRMIB_H__
52 |
53 | /*
54 | * This file was generated by mib2c and is intended for use as a mib module
55 | * for the ucd-snmp snmpd agent.
56 | */
57 |
58 | extern const char sa_program[];
59 | extern int sa_fclose; /* default close files between requests */
60 | extern int sa_changed; /* indication to reread MIB configuration */
61 | extern int sa_stats_refresh; /* indications that statistics, the mib or its tables need to be refreshed */
62 | extern int sa_request; /* request number for per-request actions */
63 |
64 | /* our storage structure(s) */
65 | struct ieee8021TpmrMib_data {
66 | struct ieee8021TpmrMib_data *ieee8021TpmrMib_old;
67 | uint ieee8021TpmrMib_rsvs;
68 | uint ieee8021TpmrMib_tsts;
69 | uint ieee8021TpmrMib_sets;
70 | uint ieee8021TpmrMib_request;
71 | };
72 | struct ieee8021TpmrPortTable_data {
73 | struct ieee8021TpmrPortTable_data *ieee8021TpmrPortTable_old;
74 | uint ieee8021TpmrPortTable_rsvs;
75 | uint ieee8021TpmrPortTable_tsts;
76 | uint ieee8021TpmrPortTable_sets;
77 | uint ieee8021TpmrPortTable_request;
78 | uint ieee8021TpmrPortTable_refs;
79 | uint ieee8021TpmrPortTable_id;
80 | ulong ieee8021BridgeBasePortComponentId; /* NoAccess */
81 | ulong ieee8021TpmrPortNumber; /* NoAccess */
82 | long ieee8021TpmrPortMgmtAddr; /* ReadOnly */
83 | long ieee8021TpmrPortMgmtAddrForwarding; /* ReadOnly */
84 | };
85 | struct ieee8021TpmrPortStatsTable_data {
86 | struct ieee8021TpmrPortStatsTable_data *ieee8021TpmrPortStatsTable_old;
87 | uint ieee8021TpmrPortStatsTable_rsvs;
88 | uint ieee8021TpmrPortStatsTable_tsts;
89 | uint ieee8021TpmrPortStatsTable_sets;
90 | uint ieee8021TpmrPortStatsTable_request;
91 | uint ieee8021TpmrPortStatsTable_refs;
92 | uint ieee8021TpmrPortStatsTable_id;
93 | ulong ieee8021BridgeBasePortComponentId; /* NoAccess */
94 | ulong ieee8021TpmrPortNumber; /* NoAccess */
95 | struct counter64 ieee8021TpmrPortStatsRxFrames; /* ReadOnly */
96 | struct counter64 ieee8021TpmrPortStatsRxOctets; /* ReadOnly */
97 | struct counter64 ieee8021TpmrPortStatsFramesForwarded; /* ReadOnly */
98 | struct counter64 ieee8021TpmrPortStatsFramesDiscarded; /* ReadOnly */
99 | struct counter64 ieee8021TpmrPortStatsFramesDiscardedQueueFull; /* ReadOnly */
100 | struct counter64 ieee8021TpmrPortStatsFramesDiscardedLifetime; /* ReadOnly */
101 | struct counter64 ieee8021TpmrPortStatsFramesDiscardedError; /* ReadOnly */
102 | };
103 | struct ieee8021TpmrPortDiscardDetailsTable_data {
104 | struct ieee8021TpmrPortDiscardDetailsTable_data *ieee8021TpmrPortDiscardDetailsTable_old;
105 | uint ieee8021TpmrPortDiscardDetailsTable_rsvs;
106 | uint ieee8021TpmrPortDiscardDetailsTable_tsts;
107 | uint ieee8021TpmrPortDiscardDetailsTable_sets;
108 | uint ieee8021TpmrPortDiscardDetailsTable_request;
109 | uint ieee8021TpmrPortDiscardDetailsTable_refs;
110 | uint ieee8021TpmrPortDiscardDetailsTable_id;
111 | ulong ieee8021BridgeBasePortComponentId; /* NoAccess */
112 | ulong ieee8021TpmrPortNumber; /* NoAccess */
113 | ulong ieee8021TpmrPortDiscardDetailsIndex; /* NoAccess */
114 | uint8_t *ieee8021TpmrPortDiscardDetailsSource; /* ReadOnly */
115 | size_t ieee8021TpmrPortDiscardDetailsSourceLen;
116 | long ieee8021TpmrPortDiscardDetailsReason; /* ReadOnly */
117 | };
118 | struct ieee8021TpmrMspTable_data {
119 | struct ieee8021TpmrMspTable_data *ieee8021TpmrMspTable_old;
120 | uint ieee8021TpmrMspTable_rsvs;
121 | uint ieee8021TpmrMspTable_tsts;
122 | uint ieee8021TpmrMspTable_sets;
123 | uint ieee8021TpmrMspTable_request;
124 | uint ieee8021TpmrMspTable_refs;
125 | uint ieee8021TpmrMspTable_id;
126 | ulong ieee8021BridgeBasePortComponentId; /* NoAccess */
127 | ulong ieee8021TpmrPortNumber; /* NoAccess */
128 | long ieee8021TpmrMspLinkNotify; /* ReadWrite */
129 | long ieee8021TpmrMspLinkNotifyWait; /* ReadWrite */
130 | long ieee8021TpmrMspLinkNotifyRetry; /* ReadWrite */
131 | long ieee8021TpmrMspMacNotify; /* ReadWrite */
132 | long ieee8021TpmrMspMacNotifyTime; /* ReadWrite */
133 | long ieee8021TpmrMspMacRecoverTime; /* ReadWrite */
134 | long ieee8021TpmrMspStorageType; /* ReadWrite */
135 | };
136 | struct ieee8021TpmrMspStatsTable_data {
137 | struct ieee8021TpmrMspStatsTable_data *ieee8021TpmrMspStatsTable_old;
138 | uint ieee8021TpmrMspStatsTable_rsvs;
139 | uint ieee8021TpmrMspStatsTable_tsts;
140 | uint ieee8021TpmrMspStatsTable_sets;
141 | uint ieee8021TpmrMspStatsTable_request;
142 | uint ieee8021TpmrMspStatsTable_refs;
143 | uint ieee8021TpmrMspStatsTable_id;
144 | ulong ieee8021BridgeBasePortComponentId; /* NoAccess */
145 | ulong ieee8021TpmrPortNumber; /* NoAccess */
146 | long ieee8021TpmrMspStatsTxAcks; /* ReadOnly */
147 | long ieee8021TpmrMspStatsTxAddNotifications; /* ReadOnly */
148 | long ieee8021TpmrMspStatsTxAddConfirmations; /* ReadOnly */
149 | long ieee8021TpmrMspStatsTxLossNotifications; /* ReadOnly */
150 | long ieee8021TpmrMspStatsTxLossConfirmations; /* ReadOnly */
151 | long ieee8021TpmrMspStatsRxAcks; /* ReadOnly */
152 | long ieee8021TpmrMspStatsRxAddNotifications; /* ReadOnly */
153 | long ieee8021TpmrMspStatsRxAddConfirmations; /* ReadOnly */
154 | long ieee8021TpmrMspStatsRxLossNotifications; /* ReadOnly */
155 | long ieee8021TpmrMspStatsRxLossConfirmations; /* ReadOnly */
156 | long ieee8021TpmrMspStatsAddEvents; /* ReadOnly */
157 | long ieee8021TpmrMspStatsLossEvents; /* ReadOnly */
158 | long ieee8021TpmrMspStatsMacStatusNotifications; /* ReadOnly */
159 | };
160 |
161 | /* storage declarations */
162 | extern struct ieee8021TpmrMib_data *ieee8021TpmrMibStorage;
163 | extern struct header_complex_index *ieee8021TpmrPortTableStorage;
164 | extern struct header_complex_index *ieee8021TpmrPortStatsTableStorage;
165 | extern struct header_complex_index *ieee8021TpmrPortDiscardDetailsTableStorage;
166 | extern struct header_complex_index *ieee8021TpmrMspTableStorage;
167 | extern struct header_complex_index *ieee8021TpmrMspStatsTableStorage;
168 |
169 | /* enum definitions from the covered mib sections */
170 |
171 | #define IEEE8021TPMRPORTMGMTADDR_TRUE 1
172 | #define IEEE8021TPMRPORTMGMTADDR_FALSE 2
173 |
174 | #define IEEE8021TPMRPORTMGMTADDRFORWARDING_TRUE 1
175 | #define IEEE8021TPMRPORTMGMTADDRFORWARDING_FALSE 2
176 |
177 | #define IEEE8021TPMRPORTDISCARDDETAILSREASON_TXSDUSIZEEXCEEDED 1
178 |
179 | #define IEEE8021TPMRMSPLINKNOTIFY_TRUE 1
180 | #define IEEE8021TPMRMSPLINKNOTIFY_FALSE 2
181 |
182 | #define IEEE8021TPMRMSPMACNOTIFY_TRUE 1
183 | #define IEEE8021TPMRMSPMACNOTIFY_FALSE 2
184 |
185 | /* notifications */
186 |
187 | /* scalars accessible only for notify */
188 |
189 | /* object id definitions */
190 | extern oid ieee8021TpmrCompliance_oid[11];
191 | extern oid ieee8021TpmrPortGroup_oid[11];
192 | extern oid ieee8021TpmrPortStatsGroup_oid[11];
193 | extern oid ieee8021TpmrPortDiscardDetailsGroup_oid[11];
194 | extern oid ieee8021TpmrMspGroup_oid[11];
195 | extern oid ieee8021TpmrMspStatsGroup_oid[11];
196 |
197 | /* function prototypes */
198 | /* trap function prototypes */
199 |
200 | /* variable function prototypes */
201 | void init_ieee8021TpmrMib(void);
202 | void deinit_ieee8021TpmrMib(void);
203 | int term_ieee8021TpmrMib(int majorID, int minorID, void *serverarg, void *clientarg);
204 | FindVarMethod var_ieee8021TpmrMib;
205 | struct ieee8021TpmrMib_data *ieee8021TpmrMib_create(void);
206 | struct ieee8021TpmrMib_data *ieee8021TpmrMib_duplicate(struct ieee8021TpmrMib_data *);
207 | int ieee8021TpmrMib_destroy(struct ieee8021TpmrMib_data **);
208 | int ieee8021TpmrMib_add(struct ieee8021TpmrMib_data *);
209 | void parse_ieee8021TpmrMib(const char *, char *);
210 | SNMPCallback store_ieee8021TpmrMib;
211 | void refresh_ieee8021TpmrMib(int);
212 | FindVarMethod var_ieee8021TpmrPortTable;
213 | struct ieee8021TpmrPortTable_data *ieee8021TpmrPortTable_create(void);
214 | struct ieee8021TpmrPortTable_data *ieee8021TpmrPortTable_duplicate(struct ieee8021TpmrPortTable_data *);
215 | int ieee8021TpmrPortTable_destroy(struct ieee8021TpmrPortTable_data **);
216 | int ieee8021TpmrPortTable_add(struct ieee8021TpmrPortTable_data *);
217 | int ieee8021TpmrPortTable_del(struct ieee8021TpmrPortTable_data *);
218 | void parse_ieee8021TpmrPortTable(const char *, char *);
219 | SNMPCallback store_ieee8021TpmrPortTable;
220 | void refresh_ieee8021TpmrPortTable(int);
221 | FindVarMethod var_ieee8021TpmrPortStatsTable;
222 | struct ieee8021TpmrPortStatsTable_data *ieee8021TpmrPortStatsTable_create(void);
223 | struct ieee8021TpmrPortStatsTable_data *ieee8021TpmrPortStatsTable_duplicate(struct ieee8021TpmrPortStatsTable_data *);
224 | int ieee8021TpmrPortStatsTable_destroy(struct ieee8021TpmrPortStatsTable_data **);
225 | int ieee8021TpmrPortStatsTable_add(struct ieee8021TpmrPortStatsTable_data *);
226 | int ieee8021TpmrPortStatsTable_del(struct ieee8021TpmrPortStatsTable_data *);
227 | void parse_ieee8021TpmrPortStatsTable(const char *, char *);
228 | SNMPCallback store_ieee8021TpmrPortStatsTable;
229 | void refresh_ieee8021TpmrPortStatsTable(int);
230 | FindVarMethod var_ieee8021TpmrPortDiscardDetailsTable;
231 | struct ieee8021TpmrPortDiscardDetailsTable_data *ieee8021TpmrPortDiscardDetailsTable_create(void);
232 | struct ieee8021TpmrPortDiscardDetailsTable_data *ieee8021TpmrPortDiscardDetailsTable_duplicate(struct ieee8021TpmrPortDiscardDetailsTable_data *);
233 | int ieee8021TpmrPortDiscardDetailsTable_destroy(struct ieee8021TpmrPortDiscardDetailsTable_data **);
234 | int ieee8021TpmrPortDiscardDetailsTable_add(struct ieee8021TpmrPortDiscardDetailsTable_data *);
235 | int ieee8021TpmrPortDiscardDetailsTable_del(struct ieee8021TpmrPortDiscardDetailsTable_data *);
236 | void parse_ieee8021TpmrPortDiscardDetailsTable(const char *, char *);
237 | SNMPCallback store_ieee8021TpmrPortDiscardDetailsTable;
238 | void refresh_ieee8021TpmrPortDiscardDetailsTable(int);
239 | FindVarMethod var_ieee8021TpmrMspTable;
240 | struct ieee8021TpmrMspTable_data *ieee8021TpmrMspTable_create(void);
241 | struct ieee8021TpmrMspTable_data *ieee8021TpmrMspTable_duplicate(struct ieee8021TpmrMspTable_data *);
242 | int ieee8021TpmrMspTable_destroy(struct ieee8021TpmrMspTable_data **);
243 | int ieee8021TpmrMspTable_add(struct ieee8021TpmrMspTable_data *);
244 | int ieee8021TpmrMspTable_del(struct ieee8021TpmrMspTable_data *);
245 | void parse_ieee8021TpmrMspTable(const char *, char *);
246 | SNMPCallback store_ieee8021TpmrMspTable;
247 | void refresh_ieee8021TpmrMspTable(int);
248 | FindVarMethod var_ieee8021TpmrMspStatsTable;
249 | struct ieee8021TpmrMspStatsTable_data *ieee8021TpmrMspStatsTable_create(void);
250 | struct ieee8021TpmrMspStatsTable_data *ieee8021TpmrMspStatsTable_duplicate(struct ieee8021TpmrMspStatsTable_data *);
251 | int ieee8021TpmrMspStatsTable_destroy(struct ieee8021TpmrMspStatsTable_data **);
252 | int ieee8021TpmrMspStatsTable_add(struct ieee8021TpmrMspStatsTable_data *);
253 | int ieee8021TpmrMspStatsTable_del(struct ieee8021TpmrMspStatsTable_data *);
254 | void parse_ieee8021TpmrMspStatsTable(const char *, char *);
255 | SNMPCallback store_ieee8021TpmrMspStatsTable;
256 | void refresh_ieee8021TpmrMspStatsTable(int);
257 |
258 | WriteMethod write_ieee8021TpmrMspLinkNotify;
259 | WriteMethod write_ieee8021TpmrMspLinkNotifyWait;
260 | WriteMethod write_ieee8021TpmrMspLinkNotifyRetry;
261 | WriteMethod write_ieee8021TpmrMspMacNotify;
262 | WriteMethod write_ieee8021TpmrMspMacNotifyTime;
263 | WriteMethod write_ieee8021TpmrMspMacRecoverTime;
264 | WriteMethod write_ieee8021TpmrMspStorageType;
265 | #endif /* __LOCAL_IEEE8021TPMRMIB_H__ */
266 |
--------------------------------------------------------------------------------
/src/snmp/ieee8021SpanningTreeMib.h:
--------------------------------------------------------------------------------
1 | /*****************************************************************************
2 |
3 | @(#) src/snmp/ieee8021spanningtreemib.h
4 |
5 | -----------------------------------------------------------------------------
6 |
7 | Copyright (c) 2008-2015 Monavacon Limited
8 | Copyright (c) 2001-2008 OpenSS7 Corporation
9 | Copyright (c) 1997-2001 Brian F. G. Bidulock
10 |
11 | All Rights Reserved.
12 |
13 | This program is free software; you can redistribute it and/or modify it under
14 | the terms of the GNU Affero General Public License as published by the Free
15 | Software Foundation; version 3 of the License.
16 |
17 | This program is distributed in the hope that it will be useful, but WITHOUT
18 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
19 | FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
20 | details.
21 |
22 | You should have received a copy of the GNU Affero General Public License
23 | along with this program. If not, see , or
24 | write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
25 | 02139, USA.
26 |
27 | -----------------------------------------------------------------------------
28 |
29 | U.S. GOVERNMENT RESTRICTED RIGHTS. If you are licensing this Software on
30 | behalf of the U.S. Government ("Government"), the following provisions apply
31 | to you. If the Software is supplied by the Department of Defense ("DoD"), it
32 | is classified as "Commercial Computer Software" under paragraph 252.227-7014
33 | of the DoD Supplement to the Federal Acquisition Regulations ("DFARS") (or any
34 | successor regulations) and the Government is acquiring only the license rights
35 | granted herein (the license rights customarily provided to non-Government
36 | users). If the Software is supplied to any unit or agency of the Government
37 | other than DoD, it is classified as "Restricted Computer Software" and the
38 | Government's rights in the Software are defined in paragraph 52.227-19 of the
39 | Federal Acquisition Regulations ("FAR") (or any successor regulations) or, in
40 | the cases of NASA, in paragraph 18.52.227-86 of the NASA Supplement to the FAR
41 | (or any successor regulations).
42 |
43 | -----------------------------------------------------------------------------
44 |
45 | Commercial licensing and support of this software is available from OpenSS7
46 | Corporation at a fee. See http://www.openss7.com/
47 |
48 | *****************************************************************************/
49 |
50 | #ifndef __LOCAL_IEEE8021SPANNINGTREEMIB_H__
51 | #define __LOCAL_IEEE8021SPANNINGTREEMIB_H__
52 |
53 | /*
54 | * This file was generated by mib2c and is intended for use as a mib module
55 | * for the ucd-snmp snmpd agent.
56 | */
57 |
58 | extern const char sa_program[];
59 | extern int sa_fclose; /* default close files between requests */
60 | extern int sa_changed; /* indication to reread MIB configuration */
61 | extern int sa_stats_refresh; /* indications that statistics, the mib or its tables need to be refreshed */
62 | extern int sa_request; /* request number for per-request actions */
63 |
64 | /* our storage structure(s) */
65 | struct ieee8021SpanningTreeMib_data {
66 | struct ieee8021SpanningTreeMib_data *ieee8021SpanningTreeMib_old;
67 | uint ieee8021SpanningTreeMib_rsvs;
68 | uint ieee8021SpanningTreeMib_tsts;
69 | uint ieee8021SpanningTreeMib_sets;
70 | uint ieee8021SpanningTreeMib_request;
71 | };
72 | struct ieee8021SpanningTreeTable_data {
73 | struct ieee8021SpanningTreeTable_data *ieee8021SpanningTreeTable_old;
74 | uint ieee8021SpanningTreeTable_rsvs;
75 | uint ieee8021SpanningTreeTable_tsts;
76 | uint ieee8021SpanningTreeTable_sets;
77 | uint ieee8021SpanningTreeTable_request;
78 | uint ieee8021SpanningTreeTable_refs;
79 | uint ieee8021SpanningTreeTable_id;
80 | ulong ieee8021SpanningTreeComponentId; /* NoAccess */
81 | long ieee8021SpanningTreeProtocolSpecification; /* ReadOnly */
82 | long ieee8021SpanningTreePriority; /* ReadWrite */
83 | long ieee8021SpanningTreeTimeSinceTopologyChange; /* ReadOnly */
84 | struct counter64 ieee8021SpanningTreeTopChanges; /* ReadOnly */
85 | uint8_t *ieee8021SpanningTreeDesignatedRoot; /* ReadOnly */
86 | size_t ieee8021SpanningTreeDesignatedRootLen;
87 | long ieee8021SpanningTreeRootCost; /* ReadOnly */
88 | ulong ieee8021SpanningTreeRootPort; /* ReadOnly */
89 | long ieee8021SpanningTreeMaxAge; /* ReadOnly */
90 | long ieee8021SpanningTreeHelloTime; /* ReadOnly */
91 | long ieee8021SpanningTreeHoldTime; /* ReadOnly */
92 | long ieee8021SpanningTreeForwardDelay; /* ReadWrite */
93 | long ieee8021SpanningTreeBridgeMaxAge; /* ReadWrite */
94 | long ieee8021SpanningTreeBridgeHelloTime; /* ReadWrite */
95 | long ieee8021SpanningTreeBridgeForwardDelay; /* ReadWrite */
96 | long ieee8021SpanningTreeVersion; /* ReadWrite */
97 | long ieee8021SpanningTreeRstpTxHoldCount; /* ReadWrite */
98 | };
99 | struct ieee8021SpanningTreePortTable_data {
100 | struct ieee8021SpanningTreePortTable_data *ieee8021SpanningTreePortTable_old;
101 | uint ieee8021SpanningTreePortTable_rsvs;
102 | uint ieee8021SpanningTreePortTable_tsts;
103 | uint ieee8021SpanningTreePortTable_sets;
104 | uint ieee8021SpanningTreePortTable_request;
105 | uint ieee8021SpanningTreePortTable_refs;
106 | uint ieee8021SpanningTreePortTable_id;
107 | ulong ieee8021SpanningTreePortComponentId; /* NoAccess */
108 | ulong ieee8021SpanningTreePort; /* NoAccess */
109 | long ieee8021SpanningTreePortPriority; /* ReadWrite */
110 | long ieee8021SpanningTreePortState; /* ReadOnly */
111 | long ieee8021SpanningTreePortEnabled; /* ReadWrite */
112 | long ieee8021SpanningTreePortPathCost; /* ReadWrite */
113 | uint8_t *ieee8021SpanningTreePortDesignatedRoot; /* ReadOnly */
114 | size_t ieee8021SpanningTreePortDesignatedRootLen;
115 | long ieee8021SpanningTreePortDesignatedCost; /* ReadOnly */
116 | uint8_t *ieee8021SpanningTreePortDesignatedBridge; /* ReadOnly */
117 | size_t ieee8021SpanningTreePortDesignatedBridgeLen;
118 | uint8_t *ieee8021SpanningTreePortDesignatedPort; /* ReadOnly */
119 | size_t ieee8021SpanningTreePortDesignatedPortLen;
120 | struct counter64 ieee8021SpanningTreePortForwardTransitions; /* ReadOnly */
121 | long ieee8021SpanningTreeRstpPortProtocolMigration; /* ReadWrite */
122 | long ieee8021SpanningTreeRstpPortAdminEdgePort; /* ReadWrite */
123 | long ieee8021SpanningTreeRstpPortOperEdgePort; /* ReadOnly */
124 | long ieee8021SpanningTreeRstpPortAdminPathCost; /* ReadWrite */
125 | };
126 | struct ieee8021SpanningTreePortExtensionTable_data {
127 | struct ieee8021SpanningTreePortExtensionTable_data *ieee8021SpanningTreePortExtensionTable_old;
128 | uint ieee8021SpanningTreePortExtensionTable_rsvs;
129 | uint ieee8021SpanningTreePortExtensionTable_tsts;
130 | uint ieee8021SpanningTreePortExtensionTable_sets;
131 | uint ieee8021SpanningTreePortExtensionTable_request;
132 | uint ieee8021SpanningTreePortExtensionTable_refs;
133 | uint ieee8021SpanningTreePortExtensionTable_id;
134 | ulong ieee8021SpanningTreePortComponentId; /* NoAccess */
135 | ulong ieee8021SpanningTreePort; /* NoAccess */
136 | long ieee8021SpanningTreeRstpPortAutoEdgePort; /* ReadWrite */
137 | long ieee8021SpanningTreeRstpPortAutoIsolatePort; /* ReadOnly */
138 | long ieee8021SpanningTreeRstpPortIsolatePort; /* ReadOnly */
139 | };
140 |
141 | /* storage declarations */
142 | extern struct ieee8021SpanningTreeMib_data *ieee8021SpanningTreeMibStorage;
143 | extern struct header_complex_index *ieee8021SpanningTreeTableStorage;
144 | extern struct header_complex_index *ieee8021SpanningTreePortTableStorage;
145 | extern struct header_complex_index *ieee8021SpanningTreePortExtensionTableStorage;
146 |
147 | /* enum definitions from the covered mib sections */
148 |
149 | #define IEEE8021SPANNINGTREEPROTOCOLSPECIFICATION_UNKNOWN 1
150 | #define IEEE8021SPANNINGTREEPROTOCOLSPECIFICATION_DECLB100 2
151 | #define IEEE8021SPANNINGTREEPROTOCOLSPECIFICATION_IEEE8021D 3
152 | #define IEEE8021SPANNINGTREEPROTOCOLSPECIFICATION_IEEE8021Q 4
153 |
154 | #define IEEE8021SPANNINGTREEVERSION_STP 0
155 | #define IEEE8021SPANNINGTREEVERSION_RSTP 2
156 | #define IEEE8021SPANNINGTREEVERSION_MSTP 3
157 |
158 | #define IEEE8021SPANNINGTREEPORTSTATE_DISABLED 1
159 | #define IEEE8021SPANNINGTREEPORTSTATE_BLOCKING 2
160 | #define IEEE8021SPANNINGTREEPORTSTATE_LISTENING 3
161 | #define IEEE8021SPANNINGTREEPORTSTATE_LEARNING 4
162 | #define IEEE8021SPANNINGTREEPORTSTATE_FORWARDING 5
163 | #define IEEE8021SPANNINGTREEPORTSTATE_BROKEN 6
164 |
165 | #define IEEE8021SPANNINGTREEPORTENABLED_TRUE 1
166 | #define IEEE8021SPANNINGTREEPORTENABLED_FALSE 2
167 |
168 | #define IEEE8021SPANNINGTREERSTPPORTPROTOCOLMIGRATION_TRUE 1
169 | #define IEEE8021SPANNINGTREERSTPPORTPROTOCOLMIGRATION_FALSE 2
170 |
171 | #define IEEE8021SPANNINGTREERSTPPORTADMINEDGEPORT_TRUE 1
172 | #define IEEE8021SPANNINGTREERSTPPORTADMINEDGEPORT_FALSE 2
173 |
174 | #define IEEE8021SPANNINGTREERSTPPORTOPEREDGEPORT_TRUE 1
175 | #define IEEE8021SPANNINGTREERSTPPORTOPEREDGEPORT_FALSE 2
176 |
177 | #define IEEE8021SPANNINGTREERSTPPORTAUTOEDGEPORT_TRUE 1
178 | #define IEEE8021SPANNINGTREERSTPPORTAUTOEDGEPORT_FALSE 2
179 |
180 | #define IEEE8021SPANNINGTREERSTPPORTAUTOISOLATEPORT_TRUE 1
181 | #define IEEE8021SPANNINGTREERSTPPORTAUTOISOLATEPORT_FALSE 2
182 |
183 | #define IEEE8021SPANNINGTREERSTPPORTISOLATEPORT_TRUE 1
184 | #define IEEE8021SPANNINGTREERSTPPORTISOLATEPORT_FALSE 2
185 |
186 | /* notifications */
187 | extern oid ieee8021SpanningTreeNewRoot_oid[10];
188 | extern oid ieee8021SpanningTreeTopologyChange_oid[10];
189 |
190 | /* scalars accessible only for notify */
191 |
192 | /* object id definitions */
193 | extern oid ieee8021SpanningTreeCompliance_oid[11];
194 | extern oid ieee8021SpanningTreeRstpCompliance_oid[11];
195 | extern oid ieee8021SpanningTreeGroup_oid[11];
196 | extern oid ieee8021SpanningTreeRstpGroup_oid[11];
197 | extern oid ieee8021SpanningTreePortGroup_oid[11];
198 | extern oid ieee8021SpanningTreeRstpPortGroup_oid[11];
199 | extern oid ieee8021SpanningTreeNotificationGroup_oid[11];
200 | extern oid ieee8021SpanningTreeRstpFragileGroup_oid[11];
201 |
202 | /* function prototypes */
203 | /* trap function prototypes */
204 | extern void send_ieee8021SpanningTreeNewRoot_v2trap(struct variable_list *);
205 | extern void send_ieee8021SpanningTreeTopologyChange_v2trap(struct variable_list *);
206 |
207 | /* variable function prototypes */
208 | void init_ieee8021SpanningTreeMib(void);
209 | void deinit_ieee8021SpanningTreeMib(void);
210 | int term_ieee8021SpanningTreeMib(int majorID, int minorID, void *serverarg, void *clientarg);
211 | FindVarMethod var_ieee8021SpanningTreeMib;
212 | struct ieee8021SpanningTreeMib_data *ieee8021SpanningTreeMib_create(void);
213 | struct ieee8021SpanningTreeMib_data *ieee8021SpanningTreeMib_duplicate(struct ieee8021SpanningTreeMib_data *);
214 | int ieee8021SpanningTreeMib_destroy(struct ieee8021SpanningTreeMib_data **);
215 | int ieee8021SpanningTreeMib_add(struct ieee8021SpanningTreeMib_data *);
216 | void parse_ieee8021SpanningTreeMib(const char *, char *);
217 | SNMPCallback store_ieee8021SpanningTreeMib;
218 | void refresh_ieee8021SpanningTreeMib(int);
219 | FindVarMethod var_ieee8021SpanningTreeTable;
220 | struct ieee8021SpanningTreeTable_data *ieee8021SpanningTreeTable_create(void);
221 | struct ieee8021SpanningTreeTable_data *ieee8021SpanningTreeTable_duplicate(struct ieee8021SpanningTreeTable_data *);
222 | int ieee8021SpanningTreeTable_destroy(struct ieee8021SpanningTreeTable_data **);
223 | int ieee8021SpanningTreeTable_add(struct ieee8021SpanningTreeTable_data *);
224 | int ieee8021SpanningTreeTable_del(struct ieee8021SpanningTreeTable_data *);
225 | void parse_ieee8021SpanningTreeTable(const char *, char *);
226 | SNMPCallback store_ieee8021SpanningTreeTable;
227 | void refresh_ieee8021SpanningTreeTable(int);
228 | FindVarMethod var_ieee8021SpanningTreePortTable;
229 | struct ieee8021SpanningTreePortTable_data *ieee8021SpanningTreePortTable_create(void);
230 | struct ieee8021SpanningTreePortTable_data *ieee8021SpanningTreePortTable_duplicate(struct ieee8021SpanningTreePortTable_data *);
231 | int ieee8021SpanningTreePortTable_destroy(struct ieee8021SpanningTreePortTable_data **);
232 | int ieee8021SpanningTreePortTable_add(struct ieee8021SpanningTreePortTable_data *);
233 | int ieee8021SpanningTreePortTable_del(struct ieee8021SpanningTreePortTable_data *);
234 | void parse_ieee8021SpanningTreePortTable(const char *, char *);
235 | SNMPCallback store_ieee8021SpanningTreePortTable;
236 | void refresh_ieee8021SpanningTreePortTable(int);
237 | FindVarMethod var_ieee8021SpanningTreePortExtensionTable;
238 | struct ieee8021SpanningTreePortExtensionTable_data *ieee8021SpanningTreePortExtensionTable_create(void);
239 | struct ieee8021SpanningTreePortExtensionTable_data *ieee8021SpanningTreePortExtensionTable_duplicate(struct ieee8021SpanningTreePortExtensionTable_data *);
240 | int ieee8021SpanningTreePortExtensionTable_destroy(struct ieee8021SpanningTreePortExtensionTable_data **);
241 | int ieee8021SpanningTreePortExtensionTable_add(struct ieee8021SpanningTreePortExtensionTable_data *);
242 | int ieee8021SpanningTreePortExtensionTable_del(struct ieee8021SpanningTreePortExtensionTable_data *);
243 | void parse_ieee8021SpanningTreePortExtensionTable(const char *, char *);
244 | SNMPCallback store_ieee8021SpanningTreePortExtensionTable;
245 | void refresh_ieee8021SpanningTreePortExtensionTable(int);
246 |
247 | WriteMethod write_ieee8021SpanningTreePriority;
248 | WriteMethod write_ieee8021SpanningTreeForwardDelay;
249 | WriteMethod write_ieee8021SpanningTreeBridgeMaxAge;
250 | WriteMethod write_ieee8021SpanningTreeBridgeHelloTime;
251 | WriteMethod write_ieee8021SpanningTreeBridgeForwardDelay;
252 | WriteMethod write_ieee8021SpanningTreeVersion;
253 | WriteMethod write_ieee8021SpanningTreeRstpTxHoldCount;
254 | WriteMethod write_ieee8021SpanningTreePortPriority;
255 | WriteMethod write_ieee8021SpanningTreePortEnabled;
256 | WriteMethod write_ieee8021SpanningTreePortPathCost;
257 | WriteMethod write_ieee8021SpanningTreeRstpPortProtocolMigration;
258 | WriteMethod write_ieee8021SpanningTreeRstpPortAdminEdgePort;
259 | WriteMethod write_ieee8021SpanningTreeRstpPortAdminPathCost;
260 | WriteMethod write_ieee8021SpanningTreeRstpPortAutoEdgePort;
261 | #endif /* __LOCAL_IEEE8021SPANNINGTREEMIB_H__ */
262 |
--------------------------------------------------------------------------------
/src/snmp/ieee8021SrpMib.h:
--------------------------------------------------------------------------------
1 | /*****************************************************************************
2 |
3 | @(#) src/snmp/ieee8021srpmib.h
4 |
5 | -----------------------------------------------------------------------------
6 |
7 | Copyright (c) 2008-2015 Monavacon Limited
8 | Copyright (c) 2001-2008 OpenSS7 Corporation
9 | Copyright (c) 1997-2001 Brian F. G. Bidulock
10 |
11 | All Rights Reserved.
12 |
13 | This program is free software; you can redistribute it and/or modify it under
14 | the terms of the GNU Affero General Public License as published by the Free
15 | Software Foundation; version 3 of the License.
16 |
17 | This program is distributed in the hope that it will be useful, but WITHOUT
18 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
19 | FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
20 | details.
21 |
22 | You should have received a copy of the GNU Affero General Public License
23 | along with this program. If not, see , or
24 | write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
25 | 02139, USA.
26 |
27 | -----------------------------------------------------------------------------
28 |
29 | U.S. GOVERNMENT RESTRICTED RIGHTS. If you are licensing this Software on
30 | behalf of the U.S. Government ("Government"), the following provisions apply
31 | to you. If the Software is supplied by the Department of Defense ("DoD"), it
32 | is classified as "Commercial Computer Software" under paragraph 252.227-7014
33 | of the DoD Supplement to the Federal Acquisition Regulations ("DFARS") (or any
34 | successor regulations) and the Government is acquiring only the license rights
35 | granted herein (the license rights customarily provided to non-Government
36 | users). If the Software is supplied to any unit or agency of the Government
37 | other than DoD, it is classified as "Restricted Computer Software" and the
38 | Government's rights in the Software are defined in paragraph 52.227-19 of the
39 | Federal Acquisition Regulations ("FAR") (or any successor regulations) or, in
40 | the cases of NASA, in paragraph 18.52.227-86 of the NASA Supplement to the FAR
41 | (or any successor regulations).
42 |
43 | -----------------------------------------------------------------------------
44 |
45 | Commercial licensing and support of this software is available from OpenSS7
46 | Corporation at a fee. See http://www.openss7.com/
47 |
48 | *****************************************************************************/
49 |
50 | #ifndef __LOCAL_IEEE8021SRPMIB_H__
51 | #define __LOCAL_IEEE8021SRPMIB_H__
52 |
53 | /*
54 | * This file was generated by mib2c and is intended for use as a mib module
55 | * for the ucd-snmp snmpd agent.
56 | */
57 |
58 | extern const char sa_program[];
59 | extern int sa_fclose; /* default close files between requests */
60 | extern int sa_changed; /* indication to reread MIB configuration */
61 | extern int sa_stats_refresh; /* indications that statistics, the mib or its tables need to be refreshed */
62 | extern int sa_request; /* request number for per-request actions */
63 |
64 | /* our storage structure(s) */
65 | struct ieee8021SrpMib_data {
66 | struct ieee8021SrpMib_data *ieee8021SrpMib_old;
67 | uint ieee8021SrpMib_rsvs;
68 | uint ieee8021SrpMib_tsts;
69 | uint ieee8021SrpMib_sets;
70 | uint ieee8021SrpMib_request;
71 | };
72 | struct ieee8021SrpBridgeBaseTable_data {
73 | struct ieee8021SrpBridgeBaseTable_data *ieee8021SrpBridgeBaseTable_old;
74 | uint ieee8021SrpBridgeBaseTable_rsvs;
75 | uint ieee8021SrpBridgeBaseTable_tsts;
76 | uint ieee8021SrpBridgeBaseTable_sets;
77 | uint ieee8021SrpBridgeBaseTable_request;
78 | uint ieee8021SrpBridgeBaseTable_refs;
79 | uint ieee8021SrpBridgeBaseTable_id;
80 | ulong ieee8021BridgeBaseComponentId; /* NoAccess */
81 | long ieee8021SrpBridgeBaseMsrpEnabledStatus; /* Create */
82 | long ieee8021SrpBridgeBaseMsrpTalkerPruning; /* Create */
83 | ulong ieee8021SrpBridgeBaseMsrpMaxFanInPorts; /* Create */
84 | ulong ieee8021SrpBridgeBaseMsrpLatencyMaxFrameSize; /* Create */
85 | };
86 | struct ieee8021SrpBridgePortTable_data {
87 | struct ieee8021SrpBridgePortTable_data *ieee8021SrpBridgePortTable_old;
88 | uint ieee8021SrpBridgePortTable_rsvs;
89 | uint ieee8021SrpBridgePortTable_tsts;
90 | uint ieee8021SrpBridgePortTable_sets;
91 | uint ieee8021SrpBridgePortTable_request;
92 | uint ieee8021SrpBridgePortTable_refs;
93 | uint ieee8021SrpBridgePortTable_id;
94 | ulong ieee8021BridgeBasePortComponentId; /* NoAccess */
95 | ulong ieee8021BridgeBasePort; /* NoAccess */
96 | long ieee8021SrpBridgePortMsrpEnabledStatus; /* Create */
97 | struct counter64 ieee8021SrpBridgePortMsrpFailedRegistrations; /* ReadOnly */
98 | uint8_t *ieee8021SrpBridgePortMsrpLastPduOrigin; /* ReadOnly */
99 | size_t ieee8021SrpBridgePortMsrpLastPduOriginLen;
100 | ulong ieee8021SrpBridgePortSrPvid; /* Create */
101 | };
102 | struct ieee8021SrpLatencyTable_data {
103 | struct ieee8021SrpLatencyTable_data *ieee8021SrpLatencyTable_old;
104 | uint ieee8021SrpLatencyTable_rsvs;
105 | uint ieee8021SrpLatencyTable_tsts;
106 | uint ieee8021SrpLatencyTable_sets;
107 | uint ieee8021SrpLatencyTable_request;
108 | uint ieee8021SrpLatencyTable_refs;
109 | uint ieee8021SrpLatencyTable_id;
110 | ulong ieee8021BridgeBaseComponentId; /* NoAccess */
111 | ulong ieee8021BridgeBasePort; /* NoAccess */
112 | ulong ieee8021SrpTrafficClass; /* NoAccess */
113 | ulong ieee8021SrpPortTcLatency; /* ReadOnly */
114 | };
115 | struct ieee8021SrpStreamTable_data {
116 | struct ieee8021SrpStreamTable_data *ieee8021SrpStreamTable_old;
117 | uint ieee8021SrpStreamTable_rsvs;
118 | uint ieee8021SrpStreamTable_tsts;
119 | uint ieee8021SrpStreamTable_sets;
120 | uint ieee8021SrpStreamTable_request;
121 | uint ieee8021SrpStreamTable_refs;
122 | uint ieee8021SrpStreamTable_id;
123 | uint8_t *ieee8021SrpStreamId; /* NoAccess */
124 | size_t ieee8021SrpStreamIdLen;
125 | uint8_t *ieee8021SrpStreamDestinationAddress; /* ReadOnly */
126 | size_t ieee8021SrpStreamDestinationAddressLen;
127 | ulong ieee8021SrpStreamVlanId; /* ReadOnly */
128 | ulong ieee8021SrpStreamTspecMaxFrameSize; /* ReadOnly */
129 | ulong ieee8021SrpStreamTspecMaxIntervalFrames; /* ReadOnly */
130 | long ieee8021SrpStreamDataFramePriority; /* ReadOnly */
131 | long ieee8021SrpStreamRank; /* ReadOnly */
132 | };
133 | struct ieee8021SrpReservationsTable_data {
134 | struct ieee8021SrpReservationsTable_data *ieee8021SrpReservationsTable_old;
135 | uint ieee8021SrpReservationsTable_rsvs;
136 | uint ieee8021SrpReservationsTable_tsts;
137 | uint ieee8021SrpReservationsTable_sets;
138 | uint ieee8021SrpReservationsTable_request;
139 | uint ieee8021SrpReservationsTable_refs;
140 | uint ieee8021SrpReservationsTable_id;
141 | ulong ieee8021BridgeBaseComponentId; /* NoAccess */
142 | ulong ieee8021BridgeBasePort; /* NoAccess */
143 | uint8_t *ieee8021SrpReservationStreamId; /* NoAccess */
144 | size_t ieee8021SrpReservationStreamIdLen;
145 | long ieee8021SrpReservationDirection; /* NoAccess */
146 | long ieee8021SrpReservationDeclarationType; /* ReadOnly */
147 | ulong ieee8021SrpReservationAccumulatedLatency; /* ReadOnly */
148 | uint8_t *ieee8021SrpReservationFailureBridgeId; /* ReadOnly */
149 | size_t ieee8021SrpReservationFailureBridgeIdLen;
150 | long ieee8021SrpReservationFailureCode; /* ReadOnly */
151 | struct counter64 ieee8021SrpReservationDroppedStreamFrames; /* ReadOnly */
152 | ulong ieee8021SrpReservationStreamAge; /* ReadOnly */
153 | };
154 |
155 | /* storage declarations */
156 | extern struct ieee8021SrpMib_data *ieee8021SrpMibStorage;
157 | extern struct header_complex_index *ieee8021SrpBridgeBaseTableStorage;
158 | extern struct header_complex_index *ieee8021SrpBridgePortTableStorage;
159 | extern struct header_complex_index *ieee8021SrpLatencyTableStorage;
160 | extern struct header_complex_index *ieee8021SrpStreamTableStorage;
161 | extern struct header_complex_index *ieee8021SrpReservationsTableStorage;
162 |
163 | /* enum definitions from the covered mib sections */
164 |
165 | #define IEEE8021SRPBRIDGEBASEMSRPENABLEDSTATUS_TRUE 1
166 | #define IEEE8021SRPBRIDGEBASEMSRPENABLEDSTATUS_FALSE 2
167 |
168 | #define IEEE8021SRPBRIDGEBASEMSRPTALKERPRUNING_TRUE 1
169 | #define IEEE8021SRPBRIDGEBASEMSRPTALKERPRUNING_FALSE 2
170 |
171 | #define IEEE8021SRPBRIDGEPORTMSRPENABLEDSTATUS_TRUE 1
172 | #define IEEE8021SRPBRIDGEPORTMSRPENABLEDSTATUS_FALSE 2
173 |
174 | #define IEEE8021SRPSTREAMDATAFRAMEPRIORITY_CODEPOINT8P0D 1
175 | #define IEEE8021SRPSTREAMDATAFRAMEPRIORITY_CODEPOINT7P1D 2
176 | #define IEEE8021SRPSTREAMDATAFRAMEPRIORITY_CODEPOINT6P2D 3
177 | #define IEEE8021SRPSTREAMDATAFRAMEPRIORITY_CODEPOINT5P3D 4
178 |
179 | #define IEEE8021SRPSTREAMRANK_EMERGENCY 0
180 | #define IEEE8021SRPSTREAMRANK_NONEMERGENCY 1
181 |
182 | #define IEEE8021SRPRESERVATIONDIRECTION_TALKERREGISTRATIONS 0
183 | #define IEEE8021SRPRESERVATIONDIRECTION_LISTENERREGISTRATIONS 1
184 |
185 | #define IEEE8021SRPRESERVATIONDECLARATIONTYPE_TALKERADVERTISE 0
186 | #define IEEE8021SRPRESERVATIONDECLARATIONTYPE_TALKERFAILED 1
187 | #define IEEE8021SRPRESERVATIONDECLARATIONTYPE_LISTENERASKINGFAILED 2
188 | #define IEEE8021SRPRESERVATIONDECLARATIONTYPE_LISTENERREADY 3
189 | #define IEEE8021SRPRESERVATIONDECLARATIONTYPE_LISTENERREADYFAILED 4
190 |
191 | #define IEEE8021SRPRESERVATIONFAILURECODE_NOFAILURE 0
192 | #define IEEE8021SRPRESERVATIONFAILURECODE_INSUFFICIENTBANDWIDTH 1
193 | #define IEEE8021SRPRESERVATIONFAILURECODE_INSUFFICIENTRESOURCES 2
194 | #define IEEE8021SRPRESERVATIONFAILURECODE_INSUFFICIENTTRAFFICCLASSBANDWIDTH 3
195 | #define IEEE8021SRPRESERVATIONFAILURECODE_STREAMIDINUSE 4
196 | #define IEEE8021SRPRESERVATIONFAILURECODE_STREAMDESTINATIONADDRESSINUSE 5
197 | #define IEEE8021SRPRESERVATIONFAILURECODE_STREAMPREEMPTEDBYHIGHERRANK 6
198 | #define IEEE8021SRPRESERVATIONFAILURECODE_LATENCYHASCHANGED 7
199 | #define IEEE8021SRPRESERVATIONFAILURECODE_EGRESSPORTNOTAVBCAPABLE 8
200 | #define IEEE8021SRPRESERVATIONFAILURECODE_USEDIFFERENTDESTINATIONADDRESS 9
201 | #define IEEE8021SRPRESERVATIONFAILURECODE_OUTOFMSRPRESOURCES 10
202 | #define IEEE8021SRPRESERVATIONFAILURECODE_OUTOFMMRPRESOURCES 11
203 | #define IEEE8021SRPRESERVATIONFAILURECODE_CANNOTSTOREDESTINATIONADDRESS 12
204 | #define IEEE8021SRPRESERVATIONFAILURECODE_PRIORITYISNOANSRCLASS 13
205 | #define IEEE8021SRPRESERVATIONFAILURECODE_MAXFRAMESIZETOOLARGE 14
206 | #define IEEE8021SRPRESERVATIONFAILURECODE_MAXFANINPORTSLIMITREACHED 15
207 | #define IEEE8021SRPRESERVATIONFAILURECODE_FIRSTVALUECHANGEDFORSTREAMID 16
208 | #define IEEE8021SRPRESERVATIONFAILURECODE_VLANBLOCKEDONEGRESS 17
209 | #define IEEE8021SRPRESERVATIONFAILURECODE_VLANTAGGINGDISABLEDONEGRESS 18
210 | #define IEEE8021SRPRESERVATIONFAILURECODE_SRCLASSPRIORITYMISMATCH 19
211 |
212 | /* notifications */
213 |
214 | /* scalars accessible only for notify */
215 |
216 | /* object id definitions */
217 | extern oid ieee8021SrpCompliance_oid[11];
218 | extern oid ieee8021SrpConfigurationGroup_oid[11];
219 | extern oid ieee8021SrpLatencyGroup_oid[11];
220 | extern oid ieee8021SrpStreamsGroup_oid[11];
221 | extern oid ieee8021SrpReservationsGroup_oid[11];
222 |
223 | /* function prototypes */
224 | /* trap function prototypes */
225 |
226 | /* variable function prototypes */
227 | void init_ieee8021SrpMib(void);
228 | void deinit_ieee8021SrpMib(void);
229 | int term_ieee8021SrpMib(int majorID, int minorID, void *serverarg, void *clientarg);
230 | FindVarMethod var_ieee8021SrpMib;
231 | struct ieee8021SrpMib_data *ieee8021SrpMib_create(void);
232 | struct ieee8021SrpMib_data *ieee8021SrpMib_duplicate(struct ieee8021SrpMib_data *);
233 | int ieee8021SrpMib_destroy(struct ieee8021SrpMib_data **);
234 | int ieee8021SrpMib_add(struct ieee8021SrpMib_data *);
235 | void parse_ieee8021SrpMib(const char *, char *);
236 | SNMPCallback store_ieee8021SrpMib;
237 | void refresh_ieee8021SrpMib(int);
238 | FindVarMethod var_ieee8021SrpBridgeBaseTable;
239 | struct ieee8021SrpBridgeBaseTable_data *ieee8021SrpBridgeBaseTable_create(void);
240 | struct ieee8021SrpBridgeBaseTable_data *ieee8021SrpBridgeBaseTable_duplicate(struct ieee8021SrpBridgeBaseTable_data *);
241 | int ieee8021SrpBridgeBaseTable_destroy(struct ieee8021SrpBridgeBaseTable_data **);
242 | int ieee8021SrpBridgeBaseTable_add(struct ieee8021SrpBridgeBaseTable_data *);
243 | int ieee8021SrpBridgeBaseTable_del(struct ieee8021SrpBridgeBaseTable_data *);
244 | void parse_ieee8021SrpBridgeBaseTable(const char *, char *);
245 | SNMPCallback store_ieee8021SrpBridgeBaseTable;
246 | void refresh_ieee8021SrpBridgeBaseTable(int);
247 | FindVarMethod var_ieee8021SrpBridgePortTable;
248 | struct ieee8021SrpBridgePortTable_data *ieee8021SrpBridgePortTable_create(void);
249 | struct ieee8021SrpBridgePortTable_data *ieee8021SrpBridgePortTable_duplicate(struct ieee8021SrpBridgePortTable_data *);
250 | int ieee8021SrpBridgePortTable_destroy(struct ieee8021SrpBridgePortTable_data **);
251 | int ieee8021SrpBridgePortTable_add(struct ieee8021SrpBridgePortTable_data *);
252 | int ieee8021SrpBridgePortTable_del(struct ieee8021SrpBridgePortTable_data *);
253 | void parse_ieee8021SrpBridgePortTable(const char *, char *);
254 | SNMPCallback store_ieee8021SrpBridgePortTable;
255 | void refresh_ieee8021SrpBridgePortTable(int);
256 | FindVarMethod var_ieee8021SrpLatencyTable;
257 | struct ieee8021SrpLatencyTable_data *ieee8021SrpLatencyTable_create(void);
258 | struct ieee8021SrpLatencyTable_data *ieee8021SrpLatencyTable_duplicate(struct ieee8021SrpLatencyTable_data *);
259 | int ieee8021SrpLatencyTable_destroy(struct ieee8021SrpLatencyTable_data **);
260 | int ieee8021SrpLatencyTable_add(struct ieee8021SrpLatencyTable_data *);
261 | int ieee8021SrpLatencyTable_del(struct ieee8021SrpLatencyTable_data *);
262 | void parse_ieee8021SrpLatencyTable(const char *, char *);
263 | SNMPCallback store_ieee8021SrpLatencyTable;
264 | void refresh_ieee8021SrpLatencyTable(int);
265 | FindVarMethod var_ieee8021SrpStreamTable;
266 | struct ieee8021SrpStreamTable_data *ieee8021SrpStreamTable_create(void);
267 | struct ieee8021SrpStreamTable_data *ieee8021SrpStreamTable_duplicate(struct ieee8021SrpStreamTable_data *);
268 | int ieee8021SrpStreamTable_destroy(struct ieee8021SrpStreamTable_data **);
269 | int ieee8021SrpStreamTable_add(struct ieee8021SrpStreamTable_data *);
270 | int ieee8021SrpStreamTable_del(struct ieee8021SrpStreamTable_data *);
271 | void parse_ieee8021SrpStreamTable(const char *, char *);
272 | SNMPCallback store_ieee8021SrpStreamTable;
273 | void refresh_ieee8021SrpStreamTable(int);
274 | FindVarMethod var_ieee8021SrpReservationsTable;
275 | struct ieee8021SrpReservationsTable_data *ieee8021SrpReservationsTable_create(void);
276 | struct ieee8021SrpReservationsTable_data *ieee8021SrpReservationsTable_duplicate(struct ieee8021SrpReservationsTable_data *);
277 | int ieee8021SrpReservationsTable_destroy(struct ieee8021SrpReservationsTable_data **);
278 | int ieee8021SrpReservationsTable_add(struct ieee8021SrpReservationsTable_data *);
279 | int ieee8021SrpReservationsTable_del(struct ieee8021SrpReservationsTable_data *);
280 | void parse_ieee8021SrpReservationsTable(const char *, char *);
281 | SNMPCallback store_ieee8021SrpReservationsTable;
282 | void refresh_ieee8021SrpReservationsTable(int);
283 |
284 | WriteMethod write_ieee8021SrpBridgeBaseMsrpEnabledStatus;
285 | WriteMethod write_ieee8021SrpBridgeBaseMsrpTalkerPruning;
286 | WriteMethod write_ieee8021SrpBridgeBaseMsrpMaxFanInPorts;
287 | WriteMethod write_ieee8021SrpBridgeBaseMsrpLatencyMaxFrameSize;
288 | WriteMethod write_ieee8021SrpBridgePortMsrpEnabledStatus;
289 | WriteMethod write_ieee8021SrpBridgePortSrPvid;
290 | #endif /* __LOCAL_IEEE8021SRPMIB_H__ */
291 |
--------------------------------------------------------------------------------
/src/snmp/ieee8021DdcfmMIB.h:
--------------------------------------------------------------------------------
1 | /*****************************************************************************
2 |
3 | @(#) src/snmp/ieee8021ddcfmmib.h
4 |
5 | -----------------------------------------------------------------------------
6 |
7 | Copyright (c) 2008-2015 Monavacon Limited
8 | Copyright (c) 2001-2008 OpenSS7 Corporation
9 | Copyright (c) 1997-2001 Brian F. G. Bidulock
10 |
11 | All Rights Reserved.
12 |
13 | This program is free software; you can redistribute it and/or modify it under
14 | the terms of the GNU Affero General Public License as published by the Free
15 | Software Foundation; version 3 of the License.
16 |
17 | This program is distributed in the hope that it will be useful, but WITHOUT
18 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
19 | FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
20 | details.
21 |
22 | You should have received a copy of the GNU Affero General Public License
23 | along with this program. If not, see , or
24 | write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
25 | 02139, USA.
26 |
27 | -----------------------------------------------------------------------------
28 |
29 | U.S. GOVERNMENT RESTRICTED RIGHTS. If you are licensing this Software on
30 | behalf of the U.S. Government ("Government"), the following provisions apply
31 | to you. If the Software is supplied by the Department of Defense ("DoD"), it
32 | is classified as "Commercial Computer Software" under paragraph 252.227-7014
33 | of the DoD Supplement to the Federal Acquisition Regulations ("DFARS") (or any
34 | successor regulations) and the Government is acquiring only the license rights
35 | granted herein (the license rights customarily provided to non-Government
36 | users). If the Software is supplied to any unit or agency of the Government
37 | other than DoD, it is classified as "Restricted Computer Software" and the
38 | Government's rights in the Software are defined in paragraph 52.227-19 of the
39 | Federal Acquisition Regulations ("FAR") (or any successor regulations) or, in
40 | the cases of NASA, in paragraph 18.52.227-86 of the NASA Supplement to the FAR
41 | (or any successor regulations).
42 |
43 | -----------------------------------------------------------------------------
44 |
45 | Commercial licensing and support of this software is available from OpenSS7
46 | Corporation at a fee. See http://www.openss7.com/
47 |
48 | *****************************************************************************/
49 |
50 | #ifndef __LOCAL_IEEE8021DDCFMMIB_H__
51 | #define __LOCAL_IEEE8021DDCFMMIB_H__
52 |
53 | /*
54 | * This file was generated by mib2c and is intended for use as a mib module
55 | * for the ucd-snmp snmpd agent.
56 | */
57 |
58 | extern const char sa_program[];
59 | extern int sa_fclose; /* default close files between requests */
60 | extern int sa_changed; /* indication to reread MIB configuration */
61 | extern int sa_stats_refresh; /* indications that statistics, the mib or its tables need to be refreshed */
62 | extern int sa_request; /* request number for per-request actions */
63 |
64 | /* our storage structure(s) */
65 | struct ieee8021DdcfmMIB_data {
66 | struct ieee8021DdcfmMIB_data *ieee8021DdcfmMIB_old;
67 | uint ieee8021DdcfmMIB_rsvs;
68 | uint ieee8021DdcfmMIB_tsts;
69 | uint ieee8021DdcfmMIB_sets;
70 | uint ieee8021DdcfmMIB_request;
71 | };
72 | struct ieee8021DdcfmStackTable_data {
73 | struct ieee8021DdcfmStackTable_data *ieee8021DdcfmStackTable_old;
74 | uint ieee8021DdcfmStackTable_rsvs;
75 | uint ieee8021DdcfmStackTable_tsts;
76 | uint ieee8021DdcfmStackTable_sets;
77 | uint ieee8021DdcfmStackTable_request;
78 | uint ieee8021DdcfmStackTable_refs;
79 | uint ieee8021DdcfmStackTable_id;
80 | long ieee8021DdcfmStackIfIndex; /* NoAccess */
81 | long ieee8021DdcfmStackRrMdLevel; /* ReadOnly */
82 | long ieee8021DdcfmStackRrDirection; /* ReadOnly */
83 | long ieee8021DdcfmStackRFMreceiverMdLevel; /* ReadOnly */
84 | long ieee8021DdcfmStackDrMdLevel; /* ReadOnly */
85 | long ieee8021DdcfmStackDrVlanIdOrNone; /* ReadOnly */
86 | long ieee8021DdcfmStackSFMOriginatorMdLevel; /* ReadOnly */
87 | long ieee8021DdcfmStackSFMOriginatorVlanIdOrNone; /* ReadOnly */
88 | long ieee8021DdcfmStackSFMOriginatorDirection; /* ReadOnly */
89 | };
90 | struct ieee8021DdcfmRrTable_data {
91 | struct ieee8021DdcfmRrTable_data *ieee8021DdcfmRrTable_old;
92 | uint ieee8021DdcfmRrTable_rsvs;
93 | uint ieee8021DdcfmRrTable_tsts;
94 | uint ieee8021DdcfmRrTable_sets;
95 | uint ieee8021DdcfmRrTable_request;
96 | uint ieee8021DdcfmRrTable_refs;
97 | uint ieee8021DdcfmRrTable_id;
98 | long ieee8021DdcfmRrIfIndex; /* NoAccess */
99 | long ieee8021DdcfmRrMdIndex; /* NoAccess */
100 | long ieee8021DdcfmRrDirection; /* NoAccess */
101 | long ieee8021DdcfmRrPrimaryVlanIdOrNone; /* Create */
102 | uint8_t *ieee8021DdcfmRrFilter; /* Create */
103 | size_t ieee8021DdcfmRrFilterLen;
104 | ulong ieee8021DdcfmRrSamplingInterval; /* Create */
105 | uint8_t *ieee8021DdcfmRrTargetAddress; /* Create */
106 | size_t ieee8021DdcfmRrTargetAddressLen;
107 | long ieee8021DdcfmRrContinueFlag; /* Create */
108 | ulong ieee8021DdcfmRrDuration; /* Create */
109 | long ieee8021DdcfmRrDurationInTimeFlag; /* Create */
110 | long ieee8021DdcfmRrVlanPriority; /* Create */
111 | long ieee8021DdcfmRrVlanDropEligible; /* Create */
112 | long ieee8021DdcfmRrFloodingFlag; /* Create */
113 | long ieee8021DdcfmRrTruncationFlag; /* Create */
114 | long ieee8021DdcfmRrActivationStatus; /* ReadOnly */
115 | ulong ieee8021DdcfmRrRemainDuration; /* ReadOnly */
116 | ulong ieee8021DdcfmRrNextRfmTransID; /* ReadOnly */
117 | long ieee8021DdcfmRrRowStatus; /* Create */
118 | };
119 | struct ieee8021DdcfmRFMReceiverTable_data {
120 | struct ieee8021DdcfmRFMReceiverTable_data *ieee8021DdcfmRFMReceiverTable_old;
121 | uint ieee8021DdcfmRFMReceiverTable_rsvs;
122 | uint ieee8021DdcfmRFMReceiverTable_tsts;
123 | uint ieee8021DdcfmRFMReceiverTable_sets;
124 | uint ieee8021DdcfmRFMReceiverTable_request;
125 | uint ieee8021DdcfmRFMReceiverTable_refs;
126 | uint ieee8021DdcfmRFMReceiverTable_id;
127 | long ieee8021DdcfmRfmReceiverIfIndex; /* NoAccess */
128 | long ieee8021DdcfmRfmReceiverMdIndex; /* NoAccess */
129 | long ieee8021DdcfmRFMRowStatus; /* Create */
130 | };
131 | struct ieee8021DdcfmDrTable_data {
132 | struct ieee8021DdcfmDrTable_data *ieee8021DdcfmDrTable_old;
133 | uint ieee8021DdcfmDrTable_rsvs;
134 | uint ieee8021DdcfmDrTable_tsts;
135 | uint ieee8021DdcfmDrTable_sets;
136 | uint ieee8021DdcfmDrTable_request;
137 | uint ieee8021DdcfmDrTable_refs;
138 | uint ieee8021DdcfmDrTable_id;
139 | long ieee8021DdcfmDrIfIndex; /* NoAccess */
140 | long ieee8021DdcfmDrMdIndex; /* NoAccess */
141 | long ieee8021DdcfmDrVlanIdOrNone; /* NoAccess */
142 | uint8_t *ieee8021DdcfmDrSfmOriginator; /* Create */
143 | size_t ieee8021DdcfmDrSfmOriginatorLen;
144 | long ieee8021DdcfmDrSourceAddressStayFlag; /* Create */
145 | long ieee8021DdcfmDrFloodingFlag; /* Create */
146 | ulong ieee8021DdcfmDrDuration; /* Create */
147 | long ieee8021DdcfmDrActivationStatus; /* ReadOnly */
148 | ulong ieee8021DdcfmDrRemainDuration; /* ReadOnly */
149 | ulong ieee8021DdcfmDrSFMsequenceErrors; /* ReadOnly */
150 | long ieee8021DdcfmDrRowStatus; /* Create */
151 | };
152 | struct ieee8021DdcfmSoTable_data {
153 | struct ieee8021DdcfmSoTable_data *ieee8021DdcfmSoTable_old;
154 | uint ieee8021DdcfmSoTable_rsvs;
155 | uint ieee8021DdcfmSoTable_tsts;
156 | uint ieee8021DdcfmSoTable_sets;
157 | uint ieee8021DdcfmSoTable_request;
158 | uint ieee8021DdcfmSoTable_refs;
159 | uint ieee8021DdcfmSoTable_id;
160 | long ieee8021DdcfmSfmIfIndex; /* NoAccess */
161 | long ieee8021DdcfmSoMdIndex; /* NoAccess */
162 | long ieee8021DdcfmSoVlanIdOrNone; /* NoAccess */
163 | long ieee8021DdcfmSoDirection; /* NoAccess */
164 | uint8_t *ieee8021DdcfmSoDrMacAddress; /* Create */
165 | size_t ieee8021DdcfmSoDrMacAddressLen;
166 | ulong ieee8021DdcfmSoDuration; /* Create */
167 | long ieee8021DdcfmSoActivationStatus; /* ReadOnly */
168 | ulong ieee8021DdcfmSoRemainDuration; /* ReadOnly */
169 | long ieee8021DdcfmSoRowStatus; /* Create */
170 | };
171 |
172 | /* storage declarations */
173 | extern struct ieee8021DdcfmMIB_data *ieee8021DdcfmMIBStorage;
174 | extern struct header_complex_index *ieee8021DdcfmStackTableStorage;
175 | extern struct header_complex_index *ieee8021DdcfmRrTableStorage;
176 | extern struct header_complex_index *ieee8021DdcfmRFMReceiverTableStorage;
177 | extern struct header_complex_index *ieee8021DdcfmDrTableStorage;
178 | extern struct header_complex_index *ieee8021DdcfmSoTableStorage;
179 |
180 | /* enum definitions from the covered mib sections */
181 |
182 | #define IEEE8021DDCFMSTACKRRDIRECTION_DOWN 1
183 | #define IEEE8021DDCFMSTACKRRDIRECTION_UP 2
184 |
185 | #define IEEE8021DDCFMSTACKSFMORIGINATORDIRECTION_DOWN 1
186 | #define IEEE8021DDCFMSTACKSFMORIGINATORDIRECTION_UP 2
187 |
188 | #define IEEE8021DDCFMRRDIRECTION_DOWN 1
189 | #define IEEE8021DDCFMRRDIRECTION_UP 2
190 |
191 | #define IEEE8021DDCFMRRCONTINUEFLAG_TRUE 1
192 | #define IEEE8021DDCFMRRCONTINUEFLAG_FALSE 2
193 |
194 | #define IEEE8021DDCFMRRDURATIONINTIMEFLAG_TRUE 1
195 | #define IEEE8021DDCFMRRDURATIONINTIMEFLAG_FALSE 2
196 |
197 | #define IEEE8021DDCFMRRVLANDROPELIGIBLE_TRUE 1
198 | #define IEEE8021DDCFMRRVLANDROPELIGIBLE_FALSE 2
199 |
200 | #define IEEE8021DDCFMRRFLOODINGFLAG_TRUE 1
201 | #define IEEE8021DDCFMRRFLOODINGFLAG_FALSE 2
202 |
203 | #define IEEE8021DDCFMRRTRUNCATIONFLAG_TRUE 1
204 | #define IEEE8021DDCFMRRTRUNCATIONFLAG_FALSE 2
205 |
206 | #define IEEE8021DDCFMRRACTIVATIONSTATUS_TRUE 1
207 | #define IEEE8021DDCFMRRACTIVATIONSTATUS_FALSE 2
208 |
209 | #define IEEE8021DDCFMDRSOURCEADDRESSSTAYFLAG_TRUE 1
210 | #define IEEE8021DDCFMDRSOURCEADDRESSSTAYFLAG_FALSE 2
211 |
212 | #define IEEE8021DDCFMDRFLOODINGFLAG_TRUE 1
213 | #define IEEE8021DDCFMDRFLOODINGFLAG_FALSE 2
214 |
215 | #define IEEE8021DDCFMDRACTIVATIONSTATUS_TRUE 1
216 | #define IEEE8021DDCFMDRACTIVATIONSTATUS_FALSE 2
217 |
218 | #define IEEE8021DDCFMSODIRECTION_DOWN 1
219 | #define IEEE8021DDCFMSODIRECTION_UP 2
220 |
221 | #define IEEE8021DDCFMSOACTIVATIONSTATUS_TRUE 1
222 | #define IEEE8021DDCFMSOACTIVATIONSTATUS_FALSE 2
223 |
224 | /* notifications */
225 |
226 | /* scalars accessible only for notify */
227 |
228 | /* object id definitions */
229 | extern oid ieee8021DdcfmCompliance_oid[11];
230 | extern oid ieee8021DdcfmStackGroup_oid[11];
231 | extern oid ieee8021DdcfmRrGroup_oid[11];
232 | extern oid ieee8021DdcfmRFMReceiverGroup_oid[11];
233 | extern oid ieee8021DdcfmDrGroup_oid[11];
234 | extern oid ieee8021DdcfmSoGroup_oid[11];
235 |
236 | /* function prototypes */
237 | /* trap function prototypes */
238 |
239 | /* variable function prototypes */
240 | void init_ieee8021DdcfmMIB(void);
241 | void deinit_ieee8021DdcfmMIB(void);
242 | int term_ieee8021DdcfmMIB(int majorID, int minorID, void *serverarg, void *clientarg);
243 | FindVarMethod var_ieee8021DdcfmMIB;
244 | struct ieee8021DdcfmMIB_data *ieee8021DdcfmMIB_create(void);
245 | struct ieee8021DdcfmMIB_data *ieee8021DdcfmMIB_duplicate(struct ieee8021DdcfmMIB_data *);
246 | int ieee8021DdcfmMIB_destroy(struct ieee8021DdcfmMIB_data **);
247 | int ieee8021DdcfmMIB_add(struct ieee8021DdcfmMIB_data *);
248 | void parse_ieee8021DdcfmMIB(const char *, char *);
249 | SNMPCallback store_ieee8021DdcfmMIB;
250 | void refresh_ieee8021DdcfmMIB(int);
251 | FindVarMethod var_ieee8021DdcfmStackTable;
252 | struct ieee8021DdcfmStackTable_data *ieee8021DdcfmStackTable_create(void);
253 | struct ieee8021DdcfmStackTable_data *ieee8021DdcfmStackTable_duplicate(struct ieee8021DdcfmStackTable_data *);
254 | int ieee8021DdcfmStackTable_destroy(struct ieee8021DdcfmStackTable_data **);
255 | int ieee8021DdcfmStackTable_add(struct ieee8021DdcfmStackTable_data *);
256 | int ieee8021DdcfmStackTable_del(struct ieee8021DdcfmStackTable_data *);
257 | void parse_ieee8021DdcfmStackTable(const char *, char *);
258 | SNMPCallback store_ieee8021DdcfmStackTable;
259 | void refresh_ieee8021DdcfmStackTable(int);
260 | FindVarMethod var_ieee8021DdcfmRrTable;
261 | struct ieee8021DdcfmRrTable_data *ieee8021DdcfmRrTable_create(void);
262 | struct ieee8021DdcfmRrTable_data *ieee8021DdcfmRrTable_duplicate(struct ieee8021DdcfmRrTable_data *);
263 | int ieee8021DdcfmRrTable_destroy(struct ieee8021DdcfmRrTable_data **);
264 | int ieee8021DdcfmRrTable_add(struct ieee8021DdcfmRrTable_data *);
265 | int ieee8021DdcfmRrTable_del(struct ieee8021DdcfmRrTable_data *);
266 | void parse_ieee8021DdcfmRrTable(const char *, char *);
267 | SNMPCallback store_ieee8021DdcfmRrTable;
268 | void refresh_ieee8021DdcfmRrTable(int);
269 | FindVarMethod var_ieee8021DdcfmRFMReceiverTable;
270 | struct ieee8021DdcfmRFMReceiverTable_data *ieee8021DdcfmRFMReceiverTable_create(void);
271 | struct ieee8021DdcfmRFMReceiverTable_data *ieee8021DdcfmRFMReceiverTable_duplicate(struct ieee8021DdcfmRFMReceiverTable_data *);
272 | int ieee8021DdcfmRFMReceiverTable_destroy(struct ieee8021DdcfmRFMReceiverTable_data **);
273 | int ieee8021DdcfmRFMReceiverTable_add(struct ieee8021DdcfmRFMReceiverTable_data *);
274 | int ieee8021DdcfmRFMReceiverTable_del(struct ieee8021DdcfmRFMReceiverTable_data *);
275 | void parse_ieee8021DdcfmRFMReceiverTable(const char *, char *);
276 | SNMPCallback store_ieee8021DdcfmRFMReceiverTable;
277 | void refresh_ieee8021DdcfmRFMReceiverTable(int);
278 | FindVarMethod var_ieee8021DdcfmDrTable;
279 | struct ieee8021DdcfmDrTable_data *ieee8021DdcfmDrTable_create(void);
280 | struct ieee8021DdcfmDrTable_data *ieee8021DdcfmDrTable_duplicate(struct ieee8021DdcfmDrTable_data *);
281 | int ieee8021DdcfmDrTable_destroy(struct ieee8021DdcfmDrTable_data **);
282 | int ieee8021DdcfmDrTable_add(struct ieee8021DdcfmDrTable_data *);
283 | int ieee8021DdcfmDrTable_del(struct ieee8021DdcfmDrTable_data *);
284 | void parse_ieee8021DdcfmDrTable(const char *, char *);
285 | SNMPCallback store_ieee8021DdcfmDrTable;
286 | void refresh_ieee8021DdcfmDrTable(int);
287 | FindVarMethod var_ieee8021DdcfmSoTable;
288 | struct ieee8021DdcfmSoTable_data *ieee8021DdcfmSoTable_create(void);
289 | struct ieee8021DdcfmSoTable_data *ieee8021DdcfmSoTable_duplicate(struct ieee8021DdcfmSoTable_data *);
290 | int ieee8021DdcfmSoTable_destroy(struct ieee8021DdcfmSoTable_data **);
291 | int ieee8021DdcfmSoTable_add(struct ieee8021DdcfmSoTable_data *);
292 | int ieee8021DdcfmSoTable_del(struct ieee8021DdcfmSoTable_data *);
293 | void parse_ieee8021DdcfmSoTable(const char *, char *);
294 | SNMPCallback store_ieee8021DdcfmSoTable;
295 | void refresh_ieee8021DdcfmSoTable(int);
296 |
297 | WriteMethod write_ieee8021DdcfmRrPrimaryVlanIdOrNone;
298 | WriteMethod write_ieee8021DdcfmRrFilter;
299 | WriteMethod write_ieee8021DdcfmRrSamplingInterval;
300 | WriteMethod write_ieee8021DdcfmRrTargetAddress;
301 | WriteMethod write_ieee8021DdcfmRrContinueFlag;
302 | WriteMethod write_ieee8021DdcfmRrDuration;
303 | WriteMethod write_ieee8021DdcfmRrDurationInTimeFlag;
304 | WriteMethod write_ieee8021DdcfmRrVlanPriority;
305 | WriteMethod write_ieee8021DdcfmRrVlanDropEligible;
306 | WriteMethod write_ieee8021DdcfmRrFloodingFlag;
307 | WriteMethod write_ieee8021DdcfmRrTruncationFlag;
308 | WriteMethod write_ieee8021DdcfmRrRowStatus;
309 | WriteMethod write_ieee8021DdcfmRFMRowStatus;
310 | WriteMethod write_ieee8021DdcfmDrSfmOriginator;
311 | WriteMethod write_ieee8021DdcfmDrSourceAddressStayFlag;
312 | WriteMethod write_ieee8021DdcfmDrFloodingFlag;
313 | WriteMethod write_ieee8021DdcfmDrDuration;
314 | WriteMethod write_ieee8021DdcfmDrRowStatus;
315 | WriteMethod write_ieee8021DdcfmSoDrMacAddress;
316 | WriteMethod write_ieee8021DdcfmSoDuration;
317 | WriteMethod write_ieee8021DdcfmSoRowStatus;
318 | #endif /* __LOCAL_IEEE8021DDCFMMIB_H__ */
319 |
--------------------------------------------------------------------------------
/src/snmp/lldpV2Xdot3MIB.h:
--------------------------------------------------------------------------------
1 | /*****************************************************************************
2 |
3 | @(#) src/snmp/lldpv2xdot3mib.h
4 |
5 | -----------------------------------------------------------------------------
6 |
7 | Copyright (c) 2008-2015 Monavacon Limited
8 | Copyright (c) 2001-2008 OpenSS7 Corporation
9 | Copyright (c) 1997-2001 Brian F. G. Bidulock
10 |
11 | All Rights Reserved.
12 |
13 | This program is free software; you can redistribute it and/or modify it under
14 | the terms of the GNU Affero General Public License as published by the Free
15 | Software Foundation; version 3 of the License.
16 |
17 | This program is distributed in the hope that it will be useful, but WITHOUT
18 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
19 | FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
20 | details.
21 |
22 | You should have received a copy of the GNU Affero General Public License
23 | along with this program. If not, see , or
24 | write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
25 | 02139, USA.
26 |
27 | -----------------------------------------------------------------------------
28 |
29 | U.S. GOVERNMENT RESTRICTED RIGHTS. If you are licensing this Software on
30 | behalf of the U.S. Government ("Government"), the following provisions apply
31 | to you. If the Software is supplied by the Department of Defense ("DoD"), it
32 | is classified as "Commercial Computer Software" under paragraph 252.227-7014
33 | of the DoD Supplement to the Federal Acquisition Regulations ("DFARS") (or any
34 | successor regulations) and the Government is acquiring only the license rights
35 | granted herein (the license rights customarily provided to non-Government
36 | users). If the Software is supplied to any unit or agency of the Government
37 | other than DoD, it is classified as "Restricted Computer Software" and the
38 | Government's rights in the Software are defined in paragraph 52.227-19 of the
39 | Federal Acquisition Regulations ("FAR") (or any successor regulations) or, in
40 | the cases of NASA, in paragraph 18.52.227-86 of the NASA Supplement to the FAR
41 | (or any successor regulations).
42 |
43 | -----------------------------------------------------------------------------
44 |
45 | Commercial licensing and support of this software is available from OpenSS7
46 | Corporation at a fee. See http://www.openss7.com/
47 |
48 | *****************************************************************************/
49 |
50 | #ifndef __LOCAL_LLDPV2XDOT3MIB_H__
51 | #define __LOCAL_LLDPV2XDOT3MIB_H__
52 |
53 | /*
54 | * This file was generated by mib2c and is intended for use as a mib module
55 | * for the ucd-snmp snmpd agent.
56 | */
57 |
58 | extern const char sa_program[];
59 | extern int sa_fclose; /* default close files between requests */
60 | extern int sa_changed; /* indication to reread MIB configuration */
61 | extern int sa_stats_refresh; /* indications that statistics, the mib or its tables need to be refreshed */
62 | extern int sa_request; /* request number for per-request actions */
63 |
64 | /* our storage structure(s) */
65 | struct lldpV2Xdot3MIB_data {
66 | struct lldpV2Xdot3MIB_data *lldpV2Xdot3MIB_old;
67 | uint lldpV2Xdot3MIB_rsvs;
68 | uint lldpV2Xdot3MIB_tsts;
69 | uint lldpV2Xdot3MIB_sets;
70 | uint lldpV2Xdot3MIB_request;
71 | };
72 | struct lldpV2Xdot3PortConfigTable_data {
73 | struct lldpV2Xdot3PortConfigTable_data *lldpV2Xdot3PortConfigTable_old;
74 | uint lldpV2Xdot3PortConfigTable_rsvs;
75 | uint lldpV2Xdot3PortConfigTable_tsts;
76 | uint lldpV2Xdot3PortConfigTable_sets;
77 | uint lldpV2Xdot3PortConfigTable_request;
78 | uint lldpV2Xdot3PortConfigTable_refs;
79 | uint lldpV2Xdot3PortConfigTable_id;
80 | long lldpV2PortConfigIfIndex; /* NoAccess */
81 | ulong lldpV2PortConfigDestAddressIndex; /* NoAccess */
82 | uint8_t *lldpV2Xdot3PortConfigTLVsTxEnable; /* ReadWrite */
83 | size_t lldpV2Xdot3PortConfigTLVsTxEnableLen;
84 | };
85 | struct lldpV2Xdot3LocPortTable_data {
86 | struct lldpV2Xdot3LocPortTable_data *lldpV2Xdot3LocPortTable_old;
87 | uint lldpV2Xdot3LocPortTable_rsvs;
88 | uint lldpV2Xdot3LocPortTable_tsts;
89 | uint lldpV2Xdot3LocPortTable_sets;
90 | uint lldpV2Xdot3LocPortTable_request;
91 | uint lldpV2Xdot3LocPortTable_refs;
92 | uint lldpV2Xdot3LocPortTable_id;
93 | long lldpV2LocPortIfIndex; /* NoAccess */
94 | long lldpV2Xdot3LocPortAutoNegSupported; /* ReadOnly */
95 | long lldpV2Xdot3LocPortAutoNegEnabled; /* ReadOnly */
96 | uint8_t *lldpV2Xdot3LocPortAutoNegAdvertisedCap; /* ReadOnly */
97 | size_t lldpV2Xdot3LocPortAutoNegAdvertisedCapLen;
98 | ulong lldpV2Xdot3LocPortOperMauType; /* ReadOnly */
99 | };
100 | struct lldpV2Xdot3LocPowerTable_data {
101 | struct lldpV2Xdot3LocPowerTable_data *lldpV2Xdot3LocPowerTable_old;
102 | uint lldpV2Xdot3LocPowerTable_rsvs;
103 | uint lldpV2Xdot3LocPowerTable_tsts;
104 | uint lldpV2Xdot3LocPowerTable_sets;
105 | uint lldpV2Xdot3LocPowerTable_request;
106 | uint lldpV2Xdot3LocPowerTable_refs;
107 | uint lldpV2Xdot3LocPowerTable_id;
108 | long lldpV2LocPortIfIndex; /* NoAccess */
109 | long lldpV2Xdot3LocPowerPortClass; /* ReadOnly */
110 | long lldpV2Xdot3LocPowerMDISupported; /* ReadOnly */
111 | long lldpV2Xdot3LocPowerMDIEnabled; /* ReadOnly */
112 | long lldpV2Xdot3LocPowerPairControlable; /* ReadOnly */
113 | ulong lldpV2Xdot3LocPowerPairs; /* ReadOnly */
114 | ulong lldpV2Xdot3LocPowerClass; /* ReadOnly */
115 | };
116 | struct lldpV2Xdot3LocMaxFrameSizeTable_data {
117 | struct lldpV2Xdot3LocMaxFrameSizeTable_data *lldpV2Xdot3LocMaxFrameSizeTable_old;
118 | uint lldpV2Xdot3LocMaxFrameSizeTable_rsvs;
119 | uint lldpV2Xdot3LocMaxFrameSizeTable_tsts;
120 | uint lldpV2Xdot3LocMaxFrameSizeTable_sets;
121 | uint lldpV2Xdot3LocMaxFrameSizeTable_request;
122 | uint lldpV2Xdot3LocMaxFrameSizeTable_refs;
123 | uint lldpV2Xdot3LocMaxFrameSizeTable_id;
124 | long lldpV2LocPortIfIndex; /* NoAccess */
125 | ulong lldpV2Xdot3LocMaxFrameSize; /* ReadOnly */
126 | };
127 | struct lldpV2Xdot3RemPortTable_data {
128 | struct lldpV2Xdot3RemPortTable_data *lldpV2Xdot3RemPortTable_old;
129 | uint lldpV2Xdot3RemPortTable_rsvs;
130 | uint lldpV2Xdot3RemPortTable_tsts;
131 | uint lldpV2Xdot3RemPortTable_sets;
132 | uint lldpV2Xdot3RemPortTable_request;
133 | uint lldpV2Xdot3RemPortTable_refs;
134 | uint lldpV2Xdot3RemPortTable_id;
135 | long lldpV2RemTimeMark; /* NoAccess */
136 | long lldpV2RemLocalIfIndex; /* NoAccess */
137 | ulong lldpV2RemLocalDestMACAddress; /* NoAccess */
138 | ulong lldpV2RemIndex; /* NoAccess */
139 | long lldpV2Xdot3RemPortAutoNegSupported; /* ReadOnly */
140 | long lldpV2Xdot3RemPortAutoNegEnabled; /* ReadOnly */
141 | uint8_t *lldpV2Xdot3RemPortAutoNegAdvertisedCap; /* ReadOnly */
142 | size_t lldpV2Xdot3RemPortAutoNegAdvertisedCapLen;
143 | ulong lldpV2Xdot3RemPortOperMauType; /* ReadOnly */
144 | };
145 | struct lldpV2Xdot3RemPowerTable_data {
146 | struct lldpV2Xdot3RemPowerTable_data *lldpV2Xdot3RemPowerTable_old;
147 | uint lldpV2Xdot3RemPowerTable_rsvs;
148 | uint lldpV2Xdot3RemPowerTable_tsts;
149 | uint lldpV2Xdot3RemPowerTable_sets;
150 | uint lldpV2Xdot3RemPowerTable_request;
151 | uint lldpV2Xdot3RemPowerTable_refs;
152 | uint lldpV2Xdot3RemPowerTable_id;
153 | long lldpV2RemTimeMark; /* NoAccess */
154 | long lldpV2RemLocalIfIndex; /* NoAccess */
155 | ulong lldpV2RemLocalDestMACAddress; /* NoAccess */
156 | ulong lldpV2RemIndex; /* NoAccess */
157 | long lldpV2Xdot3RemPowerPortClass; /* ReadOnly */
158 | long lldpV2Xdot3RemPowerMDISupported; /* ReadOnly */
159 | long lldpV2Xdot3RemPowerMDIEnabled; /* ReadOnly */
160 | long lldpV2Xdot3RemPowerPairControlable; /* ReadOnly */
161 | ulong lldpV2Xdot3RemPowerPairs; /* ReadOnly */
162 | ulong lldpV2Xdot3RemPowerClass; /* ReadOnly */
163 | };
164 | struct lldpV2Xdot3RemMaxFrameSizeTable_data {
165 | struct lldpV2Xdot3RemMaxFrameSizeTable_data *lldpV2Xdot3RemMaxFrameSizeTable_old;
166 | uint lldpV2Xdot3RemMaxFrameSizeTable_rsvs;
167 | uint lldpV2Xdot3RemMaxFrameSizeTable_tsts;
168 | uint lldpV2Xdot3RemMaxFrameSizeTable_sets;
169 | uint lldpV2Xdot3RemMaxFrameSizeTable_request;
170 | uint lldpV2Xdot3RemMaxFrameSizeTable_refs;
171 | uint lldpV2Xdot3RemMaxFrameSizeTable_id;
172 | long lldpV2RemTimeMark; /* NoAccess */
173 | long lldpV2RemLocalIfIndex; /* NoAccess */
174 | ulong lldpV2RemLocalDestMACAddress; /* NoAccess */
175 | ulong lldpV2RemIndex; /* NoAccess */
176 | ulong lldpV2Xdot3RemMaxFrameSize; /* ReadOnly */
177 | };
178 |
179 | /* storage declarations */
180 | extern struct lldpV2Xdot3MIB_data *lldpV2Xdot3MIBStorage;
181 | extern struct header_complex_index *lldpV2Xdot3PortConfigTableStorage;
182 | extern struct header_complex_index *lldpV2Xdot3LocPortTableStorage;
183 | extern struct header_complex_index *lldpV2Xdot3LocPowerTableStorage;
184 | extern struct header_complex_index *lldpV2Xdot3LocMaxFrameSizeTableStorage;
185 | extern struct header_complex_index *lldpV2Xdot3RemPortTableStorage;
186 | extern struct header_complex_index *lldpV2Xdot3RemPowerTableStorage;
187 | extern struct header_complex_index *lldpV2Xdot3RemMaxFrameSizeTableStorage;
188 |
189 | /* enum definitions from the covered mib sections */
190 |
191 | #define LLDPV2XDOT3PORTCONFIGTLVSTXENABLE_MACPHYCONFIGSTATUS 0
192 | #define LLDPV2XDOT3PORTCONFIGTLVSTXENABLE_POWERVIAMDI 1
193 | #define LLDPV2XDOT3PORTCONFIGTLVSTXENABLE_UNUSED 2
194 | #define LLDPV2XDOT3PORTCONFIGTLVSTXENABLE_MAXFRAMESIZE 3
195 |
196 | #define LLDPV2XDOT3LOCPORTAUTONEGSUPPORTED_TRUE 1
197 | #define LLDPV2XDOT3LOCPORTAUTONEGSUPPORTED_FALSE 2
198 |
199 | #define LLDPV2XDOT3LOCPORTAUTONEGENABLED_TRUE 1
200 | #define LLDPV2XDOT3LOCPORTAUTONEGENABLED_FALSE 2
201 |
202 | #define LLDPV2XDOT3LOCPOWERPORTCLASS_PCLASSPSE 1
203 | #define LLDPV2XDOT3LOCPOWERPORTCLASS_PCLASSPD 2
204 |
205 | #define LLDPV2XDOT3LOCPOWERMDISUPPORTED_TRUE 1
206 | #define LLDPV2XDOT3LOCPOWERMDISUPPORTED_FALSE 2
207 |
208 | #define LLDPV2XDOT3LOCPOWERMDIENABLED_TRUE 1
209 | #define LLDPV2XDOT3LOCPOWERMDIENABLED_FALSE 2
210 |
211 | #define LLDPV2XDOT3LOCPOWERPAIRCONTROLABLE_TRUE 1
212 | #define LLDPV2XDOT3LOCPOWERPAIRCONTROLABLE_FALSE 2
213 |
214 | #define LLDPV2XDOT3REMPORTAUTONEGSUPPORTED_TRUE 1
215 | #define LLDPV2XDOT3REMPORTAUTONEGSUPPORTED_FALSE 2
216 |
217 | #define LLDPV2XDOT3REMPORTAUTONEGENABLED_TRUE 1
218 | #define LLDPV2XDOT3REMPORTAUTONEGENABLED_FALSE 2
219 |
220 | #define LLDPV2XDOT3REMPOWERPORTCLASS_PCLASSPSE 1
221 | #define LLDPV2XDOT3REMPOWERPORTCLASS_PCLASSPD 2
222 |
223 | #define LLDPV2XDOT3REMPOWERMDISUPPORTED_TRUE 1
224 | #define LLDPV2XDOT3REMPOWERMDISUPPORTED_FALSE 2
225 |
226 | #define LLDPV2XDOT3REMPOWERMDIENABLED_TRUE 1
227 | #define LLDPV2XDOT3REMPOWERMDIENABLED_FALSE 2
228 |
229 | #define LLDPV2XDOT3REMPOWERPAIRCONTROLABLE_TRUE 1
230 | #define LLDPV2XDOT3REMPOWERPAIRCONTROLABLE_FALSE 2
231 |
232 | /* notifications */
233 |
234 | /* scalars accessible only for notify */
235 |
236 | /* object id definitions */
237 | extern oid lldpV2Xdot3TxRxCompliance_oid[14];
238 | extern oid lldpV2Xdot3TxCompliance_oid[14];
239 | extern oid lldpV2Xdot3RxCompliance_oid[14];
240 | extern oid lldpV2Xdot3ConfigGroup_oid[14];
241 | extern oid lldpV2Xdot3LocSysGroup_oid[14];
242 | extern oid lldpV2Xdot3RemSysGroup_oid[14];
243 |
244 | /* function prototypes */
245 | /* trap function prototypes */
246 |
247 | /* variable function prototypes */
248 | void init_lldpV2Xdot3MIB(void);
249 | void deinit_lldpV2Xdot3MIB(void);
250 | int term_lldpV2Xdot3MIB(int majorID, int minorID, void *serverarg, void *clientarg);
251 | FindVarMethod var_lldpV2Xdot3MIB;
252 | struct lldpV2Xdot3MIB_data *lldpV2Xdot3MIB_create(void);
253 | struct lldpV2Xdot3MIB_data *lldpV2Xdot3MIB_duplicate(struct lldpV2Xdot3MIB_data *);
254 | int lldpV2Xdot3MIB_destroy(struct lldpV2Xdot3MIB_data **);
255 | int lldpV2Xdot3MIB_add(struct lldpV2Xdot3MIB_data *);
256 | void parse_lldpV2Xdot3MIB(const char *, char *);
257 | SNMPCallback store_lldpV2Xdot3MIB;
258 | void refresh_lldpV2Xdot3MIB(int);
259 | FindVarMethod var_lldpV2Xdot3PortConfigTable;
260 | struct lldpV2Xdot3PortConfigTable_data *lldpV2Xdot3PortConfigTable_create(void);
261 | struct lldpV2Xdot3PortConfigTable_data *lldpV2Xdot3PortConfigTable_duplicate(struct lldpV2Xdot3PortConfigTable_data *);
262 | int lldpV2Xdot3PortConfigTable_destroy(struct lldpV2Xdot3PortConfigTable_data **);
263 | int lldpV2Xdot3PortConfigTable_add(struct lldpV2Xdot3PortConfigTable_data *);
264 | int lldpV2Xdot3PortConfigTable_del(struct lldpV2Xdot3PortConfigTable_data *);
265 | void parse_lldpV2Xdot3PortConfigTable(const char *, char *);
266 | SNMPCallback store_lldpV2Xdot3PortConfigTable;
267 | void refresh_lldpV2Xdot3PortConfigTable(int);
268 | FindVarMethod var_lldpV2Xdot3LocPortTable;
269 | struct lldpV2Xdot3LocPortTable_data *lldpV2Xdot3LocPortTable_create(void);
270 | struct lldpV2Xdot3LocPortTable_data *lldpV2Xdot3LocPortTable_duplicate(struct lldpV2Xdot3LocPortTable_data *);
271 | int lldpV2Xdot3LocPortTable_destroy(struct lldpV2Xdot3LocPortTable_data **);
272 | int lldpV2Xdot3LocPortTable_add(struct lldpV2Xdot3LocPortTable_data *);
273 | int lldpV2Xdot3LocPortTable_del(struct lldpV2Xdot3LocPortTable_data *);
274 | void parse_lldpV2Xdot3LocPortTable(const char *, char *);
275 | SNMPCallback store_lldpV2Xdot3LocPortTable;
276 | void refresh_lldpV2Xdot3LocPortTable(int);
277 | FindVarMethod var_lldpV2Xdot3LocPowerTable;
278 | struct lldpV2Xdot3LocPowerTable_data *lldpV2Xdot3LocPowerTable_create(void);
279 | struct lldpV2Xdot3LocPowerTable_data *lldpV2Xdot3LocPowerTable_duplicate(struct lldpV2Xdot3LocPowerTable_data *);
280 | int lldpV2Xdot3LocPowerTable_destroy(struct lldpV2Xdot3LocPowerTable_data **);
281 | int lldpV2Xdot3LocPowerTable_add(struct lldpV2Xdot3LocPowerTable_data *);
282 | int lldpV2Xdot3LocPowerTable_del(struct lldpV2Xdot3LocPowerTable_data *);
283 | void parse_lldpV2Xdot3LocPowerTable(const char *, char *);
284 | SNMPCallback store_lldpV2Xdot3LocPowerTable;
285 | void refresh_lldpV2Xdot3LocPowerTable(int);
286 | FindVarMethod var_lldpV2Xdot3LocMaxFrameSizeTable;
287 | struct lldpV2Xdot3LocMaxFrameSizeTable_data *lldpV2Xdot3LocMaxFrameSizeTable_create(void);
288 | struct lldpV2Xdot3LocMaxFrameSizeTable_data *lldpV2Xdot3LocMaxFrameSizeTable_duplicate(struct lldpV2Xdot3LocMaxFrameSizeTable_data *);
289 | int lldpV2Xdot3LocMaxFrameSizeTable_destroy(struct lldpV2Xdot3LocMaxFrameSizeTable_data **);
290 | int lldpV2Xdot3LocMaxFrameSizeTable_add(struct lldpV2Xdot3LocMaxFrameSizeTable_data *);
291 | int lldpV2Xdot3LocMaxFrameSizeTable_del(struct lldpV2Xdot3LocMaxFrameSizeTable_data *);
292 | void parse_lldpV2Xdot3LocMaxFrameSizeTable(const char *, char *);
293 | SNMPCallback store_lldpV2Xdot3LocMaxFrameSizeTable;
294 | void refresh_lldpV2Xdot3LocMaxFrameSizeTable(int);
295 | FindVarMethod var_lldpV2Xdot3RemPortTable;
296 | struct lldpV2Xdot3RemPortTable_data *lldpV2Xdot3RemPortTable_create(void);
297 | struct lldpV2Xdot3RemPortTable_data *lldpV2Xdot3RemPortTable_duplicate(struct lldpV2Xdot3RemPortTable_data *);
298 | int lldpV2Xdot3RemPortTable_destroy(struct lldpV2Xdot3RemPortTable_data **);
299 | int lldpV2Xdot3RemPortTable_add(struct lldpV2Xdot3RemPortTable_data *);
300 | int lldpV2Xdot3RemPortTable_del(struct lldpV2Xdot3RemPortTable_data *);
301 | void parse_lldpV2Xdot3RemPortTable(const char *, char *);
302 | SNMPCallback store_lldpV2Xdot3RemPortTable;
303 | void refresh_lldpV2Xdot3RemPortTable(int);
304 | FindVarMethod var_lldpV2Xdot3RemPowerTable;
305 | struct lldpV2Xdot3RemPowerTable_data *lldpV2Xdot3RemPowerTable_create(void);
306 | struct lldpV2Xdot3RemPowerTable_data *lldpV2Xdot3RemPowerTable_duplicate(struct lldpV2Xdot3RemPowerTable_data *);
307 | int lldpV2Xdot3RemPowerTable_destroy(struct lldpV2Xdot3RemPowerTable_data **);
308 | int lldpV2Xdot3RemPowerTable_add(struct lldpV2Xdot3RemPowerTable_data *);
309 | int lldpV2Xdot3RemPowerTable_del(struct lldpV2Xdot3RemPowerTable_data *);
310 | void parse_lldpV2Xdot3RemPowerTable(const char *, char *);
311 | SNMPCallback store_lldpV2Xdot3RemPowerTable;
312 | void refresh_lldpV2Xdot3RemPowerTable(int);
313 | FindVarMethod var_lldpV2Xdot3RemMaxFrameSizeTable;
314 | struct lldpV2Xdot3RemMaxFrameSizeTable_data *lldpV2Xdot3RemMaxFrameSizeTable_create(void);
315 | struct lldpV2Xdot3RemMaxFrameSizeTable_data *lldpV2Xdot3RemMaxFrameSizeTable_duplicate(struct lldpV2Xdot3RemMaxFrameSizeTable_data *);
316 | int lldpV2Xdot3RemMaxFrameSizeTable_destroy(struct lldpV2Xdot3RemMaxFrameSizeTable_data **);
317 | int lldpV2Xdot3RemMaxFrameSizeTable_add(struct lldpV2Xdot3RemMaxFrameSizeTable_data *);
318 | int lldpV2Xdot3RemMaxFrameSizeTable_del(struct lldpV2Xdot3RemMaxFrameSizeTable_data *);
319 | void parse_lldpV2Xdot3RemMaxFrameSizeTable(const char *, char *);
320 | SNMPCallback store_lldpV2Xdot3RemMaxFrameSizeTable;
321 | void refresh_lldpV2Xdot3RemMaxFrameSizeTable(int);
322 |
323 | WriteMethod write_lldpV2Xdot3PortConfigTLVsTxEnable;
324 | #endif /* __LOCAL_LLDPV2XDOT3MIB_H__ */
325 |
--------------------------------------------------------------------------------
/src/mibs/IEEE8021-ECMP-MIB.mib:
--------------------------------------------------------------------------------
1 | -- ===================================================================
2 | -- IEEE 802.1 Equal Cost Multiple Paths (ECMP) MIB
3 | -- ===================================================================
4 |
5 | IEEE8021-ECMP-MIB DEFINITIONS ::= BEGIN
6 |
7 | IMPORTS
8 | ieee8021BridgeBasePort, ieee8021BridgeBasePortComponentId
9 | FROM IEEE8021-BRIDGE-MIB
10 | ieee8021QBridgePortVlanStatisticsEntry, ieee8021QBridgeTpFdbEntry
11 | FROM IEEE8021-Q-BRIDGE-MIB
12 | IEEE8021SpbBridgePriority, ieee8021SpbTopIx, ieee8021SpbmTopSrvEntry
13 | FROM IEEE8021-SPB-MIB
14 | ieee802dot1mibs
15 | FROM IEEE8021-TC-MIB
16 | PortList, VlanId
17 | FROM Q-BRIDGE-MIB
18 | MODULE-COMPLIANCE, OBJECT-GROUP
19 | FROM SNMPv2-CONF
20 | Counter64, Integer32, MODULE-IDENTITY, OBJECT-TYPE
21 | FROM SNMPv2-SMI
22 | RowStatus, TruthValue
23 | FROM SNMPv2-TC;
24 |
25 | ieee8021EcmpMib MODULE-IDENTITY
26 | LAST-UPDATED "201305130000Z" -- May 13, 2013
27 | ORGANIZATION
28 | "IEEE 802.1 Working Group"
29 | CONTACT-INFO
30 | "WG-URL: http://grouper.ieee.org/groups/802/1/index.html
31 | WG-EMail: stds-802-1@ieee.org
32 |
33 | Contact: Ben Mack-Crane
34 | Postal: C/O IEEE 802.1 Working Group
35 | IEEE Standards Association
36 | 445 Hoes Lane
37 | P.O. Box 1331
38 | Piscataway
39 | NJ 08855-1331
40 | USA
41 | E-mail: STDS-802-1-L@LISTSERV.IEEE.ORG"
42 | DESCRIPTION
43 | "802.1 ECMP MIB"
44 | REVISION "201305130000Z" -- May 13, 2013
45 | DESCRIPTION
46 | "802.1 Equal Cost Multiple Paths MIB Initial Version"
47 | ::= { ieee802dot1mibs 28 }
48 |
49 |
50 | ieee8021EcmpNotifications OBJECT IDENTIFIER
51 | ::= { ieee8021EcmpMib 0 }
52 |
53 | ieee8021EcmpObjects OBJECT IDENTIFIER
54 | ::= { ieee8021EcmpMib 1 }
55 |
56 | -- ===================================================================
57 | -- OBJECT DEFINITIONS
58 | -- ===================================================================
59 |
60 | -- =============================================================
61 | -- ECMP FDB object for Individual Addresses
62 | -- =============================================================
63 |
64 | ieee8021QBridgeEcmpFdbTable OBJECT-TYPE
65 | SYNTAX SEQUENCE OF Ieee8021QBridgeEcmpFdbEntry
66 | MAX-ACCESS not-accessible
67 | STATUS current
68 | DESCRIPTION
69 | "A table that contains information about unicast entries
70 | for which the device has forwarding and/or filtering
71 | information. This information is used by the
72 | ECMP next hop selection function in determining how to
73 | propagate a received frame."
74 | REFERENCE
75 | "12.7.7.3, 8.8.3:c"
76 | ::= { ieee8021EcmpObjects 1 }
77 |
78 | ieee8021QBridgeEcmpFdbEntry OBJECT-TYPE
79 | SYNTAX Ieee8021QBridgeEcmpFdbEntry
80 | MAX-ACCESS not-accessible
81 | STATUS current
82 | DESCRIPTION
83 | "Information about a specific unicast MAC address for
84 | which the device has some forwarding and/or filtering
85 | information."
86 | AUGMENTS { ieee8021QBridgeTpFdbEntry }
87 | ::= { ieee8021QBridgeEcmpFdbTable 1 }
88 |
89 | Ieee8021QBridgeEcmpFdbEntry ::= SEQUENCE {
90 | ieee8021QBridgeEcmpFdbPortList PortList
91 | }
92 |
93 | ieee8021QBridgeEcmpFdbPortList OBJECT-TYPE
94 | SYNTAX PortList
95 | MAX-ACCESS read-only
96 | STATUS current
97 | DESCRIPTION
98 | "The complete set of ports, in this FID, to which
99 | frames destined for this individual MAC address may be
100 | forwarded."
101 | ::= { ieee8021QBridgeEcmpFdbEntry 1 }
102 |
103 | -- =============================================================
104 | -- Flow Filtering Control Table
105 | -- =============================================================
106 |
107 | ieee8021EcmpFlowFilterCtlTable OBJECT-TYPE
108 | SYNTAX SEQUENCE OF Ieee8021EcmpFlowFilterCtlEntry
109 | MAX-ACCESS not-accessible
110 | STATUS current
111 | DESCRIPTION
112 | "A table flow filtering control informmation for ports
113 | in a Bridge supporting F-Tag processing."
114 | REFERENCE
115 | "12.16.5.4, 12.16.5.5"
116 | ::= { ieee8021EcmpObjects 2 }
117 |
118 | ieee8021EcmpFlowFilterCtlEntry OBJECT-TYPE
119 | SYNTAX Ieee8021EcmpFlowFilterCtlEntry
120 | MAX-ACCESS not-accessible
121 | STATUS current
122 | DESCRIPTION
123 | "An entry in the Flow Filtering Control Table for a
124 | port (CPB or PNP)."
125 | INDEX { ieee8021BridgeBasePortComponentId,
126 | ieee8021BridgeBasePort, ieee8021EcmpFlowFilterCtlVid }
127 | ::= { ieee8021EcmpFlowFilterCtlTable 1 }
128 |
129 | Ieee8021EcmpFlowFilterCtlEntry ::= SEQUENCE {
130 | ieee8021EcmpFlowFilterCtlVid VlanId,
131 | ieee8021EcmpFlowFilterCtlEnabled TruthValue,
132 | ieee8021EcmpFlowFilterCtlHashGen TruthValue,
133 | ieee8021EcmpFlowFilterCtlTtl Integer32
134 | }
135 |
136 | ieee8021EcmpFlowFilterCtlVid OBJECT-TYPE
137 | SYNTAX VlanId
138 | MAX-ACCESS not-accessible
139 | STATUS current
140 | DESCRIPTION
141 | "A B-vID registered on the port."
142 | ::= { ieee8021EcmpFlowFilterCtlEntry 1 }
143 |
144 | ieee8021EcmpFlowFilterCtlEnabled OBJECT-TYPE
145 | SYNTAX TruthValue
146 | MAX-ACCESS read-only
147 | STATUS current
148 | DESCRIPTION
149 | "Indicates whether or not flow filtering behavior
150 | is enabled on the port for the VID
151 | (true(1) is enabled, false(2) is disabled)."
152 | ::= { ieee8021EcmpFlowFilterCtlEntry 2 }
153 |
154 | ieee8021EcmpFlowFilterCtlHashGen OBJECT-TYPE
155 | SYNTAX TruthValue
156 | MAX-ACCESS read-only
157 | STATUS current
158 | DESCRIPTION
159 | "indicates whether or not flow hash generation
160 | is enabled on the port for the VID
161 | (true(1) is enabled, false(2) is disabled)."
162 | ::= { ieee8021EcmpFlowFilterCtlEntry 3 }
163 |
164 | ieee8021EcmpFlowFilterCtlTtl OBJECT-TYPE
165 | SYNTAX Integer32 (0..63)
166 | MAX-ACCESS read-write
167 | STATUS current
168 | DESCRIPTION
169 | "the initial TTL value for frames entering
170 | the flow filtering SPT Domain.
171 | Valid values are 1..63, zero indicates the
172 | value has not been set.
173 | This object is persistent."
174 | ::= { ieee8021EcmpFlowFilterCtlEntry 4 }
175 |
176 | -- ===================================================================
177 | -- ECMP ECT Static Entry Table
178 | -- ===================================================================
179 |
180 | ieee8021EcmpEctStaticTable OBJECT-TYPE
181 | SYNTAX SEQUENCE OF Ieee8021EcmpEctStaticEntry
182 | MAX-ACCESS not-accessible
183 | STATUS current
184 | DESCRIPTION
185 | "Table containing alternate Bridge priorities for tie-breaker
186 | masks used in selecting shared tree root bridges.
187 | The table is indexed by
188 | - ieee8021SpbTopIx from ieee8021SpbMtidStaticTable
189 | indicating the ISIS-SPB topology instance into
190 | which the bridge priority will be advertised, and
191 | - ieee8021EcmpEctStaticEntryTieBreakMask
192 | the associated tie-break mask value."
193 | REFERENCE
194 | "12.25.14"
195 | ::= { ieee8021EcmpObjects 3 }
196 |
197 | ieee8021EcmpEctStaticEntry OBJECT-TYPE
198 | SYNTAX Ieee8021EcmpEctStaticEntry
199 | MAX-ACCESS not-accessible
200 | STATUS current
201 | DESCRIPTION
202 | "This entry contains information about backbone services
203 | configured on this system to be advertised by ISIS-SPB."
204 | REFERENCE
205 | "12.25.8"
206 | INDEX { ieee8021SpbTopIx,
207 | ieee8021EcmpEctStaticEntryTieBreakMask }
208 | ::= { ieee8021EcmpEctStaticTable 1 }
209 |
210 | Ieee8021EcmpEctStaticEntry ::= SEQUENCE {
211 | ieee8021EcmpEctStaticEntryTieBreakMask Integer32,
212 | ieee8021EcmpEctStaticEntryBridgePriority IEEE8021SpbBridgePriority,
213 | ieee8021EcmpEctStaticEntryRowStatus RowStatus
214 | }
215 |
216 | ieee8021EcmpEctStaticEntryTieBreakMask OBJECT-TYPE
217 | SYNTAX Integer32 (0..15)
218 | MAX-ACCESS not-accessible
219 | STATUS current
220 | DESCRIPTION
221 | "The value used to create the Tie-Break Mask
222 | for selecting a shared tree root bridge."
223 | ::= { ieee8021EcmpEctStaticEntry 1 }
224 |
225 | ieee8021EcmpEctStaticEntryBridgePriority OBJECT-TYPE
226 | SYNTAX IEEE8021SpbBridgePriority
227 | MAX-ACCESS read-create
228 | STATUS current
229 | DESCRIPTION
230 | "A Bridge Priority value to be used
231 | for selecting a shared tree root bridge,
232 | i.e. the four most significant bits of the
233 | Bridge Identifier.
234 | This object is persistent."
235 | ::= { ieee8021EcmpEctStaticEntry 2 }
236 |
237 | ieee8021EcmpEctStaticEntryRowStatus OBJECT-TYPE
238 | SYNTAX RowStatus
239 | MAX-ACCESS read-create
240 | STATUS current
241 | DESCRIPTION
242 | "This column holds the status for this row.
243 |
244 | When the status is active, no columns of this table may be
245 | modified. All columns must have a valid value before the row
246 | can be activated.
247 | This object is persistent."
248 | ::= { ieee8021EcmpEctStaticEntry 3 }
249 |
250 | -- ===================================================================
251 | -- ECMP extensions to ieee8021SpbmTopSrvTable
252 | -- ===================================================================
253 |
254 | ieee8021EcmpTopSrvTable OBJECT-TYPE
255 | SYNTAX SEQUENCE OF Ieee8021EcmpTopSrvEntry
256 | MAX-ACCESS not-accessible
257 | STATUS current
258 | DESCRIPTION
259 | "Added info for SPBM PBB encapsulated services in this network."
260 | REFERENCE
261 | "12.25.8"
262 | ::= { ieee8021EcmpObjects 4 }
263 |
264 | ieee8021EcmpTopSrvEntry OBJECT-TYPE
265 | SYNTAX Ieee8021EcmpTopSrvEntry
266 | MAX-ACCESS not-accessible
267 | STATUS current
268 | DESCRIPTION
269 | "This table contains additional information about backbone
270 | services configured on this system to be advertised by
271 | ISIS-SPB."
272 | REFERENCE
273 | "12.25.8"
274 | AUGMENTS { ieee8021SpbmTopSrvEntry }
275 | ::= { ieee8021EcmpTopSrvTable 1 }
276 |
277 | Ieee8021EcmpTopSrvEntry ::= SEQUENCE {
278 | ieee8021EcmpTopSrvEntryTsBit TruthValue,
279 | ieee8021EcmpTopSrvEntryTieBreakMask Integer32
280 | }
281 |
282 | ieee8021EcmpTopSrvEntryTsBit OBJECT-TYPE
283 | SYNTAX TruthValue
284 | MAX-ACCESS read-only
285 | STATUS current
286 | DESCRIPTION
287 | "If true(1), indicates the BSI transmits multicast
288 | frames on a shared tree from this CBP."
289 | ::= { ieee8021EcmpTopSrvEntry 1 }
290 |
291 | ieee8021EcmpTopSrvEntryTieBreakMask OBJECT-TYPE
292 | SYNTAX Integer32 (0..15)
293 | MAX-ACCESS read-only
294 | STATUS current
295 | DESCRIPTION
296 | "The value used to create the Tie-Break Mask
297 | for calculating multicast trees."
298 | ::= { ieee8021EcmpTopSrvEntry 2 }
299 |
300 | -- =============================================================
301 | -- Per port VLAN TTL Statistics Table
302 | -- =============================================================
303 |
304 | ieee8021QBridgePortVlanTtlStatisticsTable OBJECT-TYPE
305 | SYNTAX SEQUENCE OF Ieee8021QBridgePortVlanTtlStatisticsEntry
306 | MAX-ACCESS not-accessible
307 | STATUS current
308 | DESCRIPTION
309 | "A table containing per-port, per-VID TTL discard statistics."
310 | ::= { ieee8021EcmpObjects 5 }
311 |
312 | ieee8021QBridgePortVlanTtlStatisticsEntry OBJECT-TYPE
313 | SYNTAX Ieee8021QBridgePortVlanTtlStatisticsEntry
314 | MAX-ACCESS not-accessible
315 | STATUS current
316 | DESCRIPTION
317 | "TTL discard statistics for a VID on an interface."
318 | AUGMENTS { ieee8021QBridgePortVlanStatisticsEntry }
319 | ::= { ieee8021QBridgePortVlanTtlStatisticsTable 1 }
320 |
321 | Ieee8021QBridgePortVlanTtlStatisticsEntry ::= SEQUENCE {
322 | ieee8021QBridgeTpVlanPortTtlDiscards Counter64
323 | }
324 |
325 | ieee8021QBridgeTpVlanPortTtlDiscards OBJECT-TYPE
326 | SYNTAX Counter64
327 | UNITS "frames"
328 | MAX-ACCESS read-only
329 | STATUS current
330 | DESCRIPTION
331 | "The number of valid frames received by this port from
332 | its segment that were classified as belonging to this
333 | VLAN and that were discarded due to TTL expiry.
334 | Discontinuities in the value of the counter can occur
335 | at re-initialization of the management system, and at
336 | other times as indicated by the value of
337 | ifCounterDiscontinuityTime object of the associated
338 | interface (if any)."
339 | REFERENCE
340 | "12.6.1.1.3"
341 | ::= { ieee8021QBridgePortVlanTtlStatisticsEntry 1 }
342 |
343 | -- ===================================================================
344 | -- Conformance Information
345 | -- ===================================================================
346 |
347 | ieee8021EcmpConformance OBJECT IDENTIFIER
348 | ::= { ieee8021EcmpMib 2 }
349 |
350 | ieee8021EcmpGroups OBJECT IDENTIFIER
351 | ::= { ieee8021EcmpConformance 1 }
352 |
353 | ieee8021EcmpCompliances OBJECT IDENTIFIER
354 | ::= { ieee8021EcmpConformance 2 }
355 |
356 | -- ===================================================================
357 | -- Units of conformance
358 | -- ===================================================================
359 |
360 | ieee8021QBridgeEcmpFdbGroup OBJECT-GROUP
361 | OBJECTS { ieee8021QBridgeEcmpFdbPortList }
362 | STATUS current
363 | DESCRIPTION
364 | "FDB Port Map for ECMP Individual address"
365 | ::= { ieee8021EcmpGroups 1 }
366 |
367 | ieee8021EcmpFlowFilterCtlGroup OBJECT-GROUP
368 | OBJECTS { ieee8021EcmpFlowFilterCtlEnabled,
369 | ieee8021EcmpFlowFilterCtlHashGen,
370 | ieee8021EcmpFlowFilterCtlTtl }
371 | STATUS current
372 | DESCRIPTION
373 | "Flow filtering control parameters on a CBP or PNP"
374 | ::= { ieee8021EcmpGroups 2 }
375 |
376 | ieee8021EcmpEctStaticGroup OBJECT-GROUP
377 | OBJECTS { ieee8021EcmpEctStaticEntryBridgePriority,
378 | ieee8021EcmpEctStaticEntryRowStatus }
379 | STATUS current
380 | DESCRIPTION
381 | "Optional Bridge Priority for selecting shared tree root"
382 | ::= { ieee8021EcmpGroups 3 }
383 |
384 | ieee8021EcmpTopSrvGroup OBJECT-GROUP
385 | OBJECTS { ieee8021EcmpTopSrvEntryTsBit,
386 | ieee8021EcmpTopSrvEntryTieBreakMask }
387 | STATUS current
388 | DESCRIPTION
389 | "Advertised I-SID parameters controlling multicast routing"
390 | ::= { ieee8021EcmpGroups 4 }
391 |
392 | ieee8021QBridgePortVlanTtlStatisticsGroup OBJECT-GROUP
393 | OBJECTS { ieee8021QBridgeTpVlanPortTtlDiscards }
394 | STATUS current
395 | DESCRIPTION
396 | "TTL discard statistics"
397 | ::= { ieee8021EcmpGroups 5 }
398 |
399 | -- ===================================================================
400 | -- Compliance statements
401 | -- ===================================================================
402 |
403 | ieee8021EcmpCompliance MODULE-COMPLIANCE
404 | STATUS current
405 | DESCRIPTION
406 | "Compliance to IEEE 802.1 SPBM ECMP"
407 |
408 | MODULE -- this module
409 |
410 | MANDATORY-GROUPS { ieee8021QBridgeEcmpFdbGroup,
411 | ieee8021EcmpEctStaticGroup, ieee8021EcmpTopSrvGroup }
412 |
413 | ::= { ieee8021EcmpCompliances 1 }
414 |
415 | ieee8021EcmpFlowFilteringCompliance MODULE-COMPLIANCE
416 | STATUS current
417 | DESCRIPTION
418 | "Compliance to IEEE 802.1 SPBM ECMP with flow filtering"
419 |
420 | MODULE -- this module
421 |
422 | MANDATORY-GROUPS { ieee8021EcmpFlowFilterCtlGroup,
423 | ieee8021QBridgePortVlanTtlStatisticsGroup }
424 |
425 | ::= { ieee8021EcmpCompliances 2 }
426 |
427 | END -- end of module IEEE8021-ECMP-MIB.
428 |
429 | -- vim: ft=mib comments=\f\:\",\b\:\-\-,\:\-\-,\f\b\:- fo+=tcqlornw tw=68 nocin nosi sts=4 sw=4 et
430 |
--------------------------------------------------------------------------------