⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ospf_snmp.c

📁 router source code for the ospdf.
💻 C
📖 第 1 页 / 共 5 页
字号:
/* OSPFv2 SNMP support * Copyright (C) 2000 IP Infusion Inc. * * Written by Kunihiro Ishiguro <kunihiro@zebra.org> * * This file is part of GNU Zebra. * * GNU Zebra is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2, or (at your option) any * later version. * * GNU Zebra is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GNU Zebra; see the file COPYING.  If not, write to the Free * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA * 02111-1307, USA.   */#include <zebra.h>#ifdef HAVE_SNMP#include <asn1.h>#include <snmp.h>#include <snmp_impl.h>#include "if.h"#include "log.h"#include "prefix.h"#include "table.h"#include "command.h"#include "memory.h"#include "smux.h"#include "ospfd/ospfd.h"#include "ospfd/ospf_interface.h"#include "ospfd/ospf_asbr.h"#include "ospfd/ospf_lsa.h"#include "ospfd/ospf_lsdb.h"#include "ospfd/ospf_abr.h"#include "ospfd/ospf_neighbor.h"#include "ospfd/ospf_nsm.h"#include "ospfd/ospf_flood.h"/* OSPF2-MIB. */#define OSPF2MIB 1,3,6,1,2,1,14/* Zebra enterprise OSPF MIB.  This variable is used for register   OSPF MIB to SNMP agent under SMUX protocol.  */#define OSPFDOID 1,3,6,1,4,1,3317,1,2,5/* OSPF MIB General Group values. */#define OSPFROUTERID                     1#define OSPFADMINSTAT                    2#define OSPFVERSIONNUMBER                3#define OSPFAREABDRRTRSTATUS             4#define OSPFASBDRRTRSTATUS               5#define OSPFEXTERNLSACOUNT               6#define OSPFEXTERNLSACKSUMSUM            7#define OSPFTOSSUPPORT                   8#define OSPFORIGINATENEWLSAS             9#define OSPFRXNEWLSAS                    10#define OSPFEXTLSDBLIMIT                 11#define OSPFMULTICASTEXTENSIONS          12#define OSPFEXITOVERFLOWINTERVAL         13#define OSPFDEMANDEXTENSIONS             14/* OSPF MIB ospfAreaTable. */#define OSPFAREAID                       1#define OSPFAUTHTYPE                     2#define OSPFIMPORTASEXTERN               3#define OSPFSPFRUNS                      4#define OSPFAREABDRRTRCOUNT              5#define OSPFASBDRRTRCOUNT                6#define OSPFAREALSACOUNT                 7#define OSPFAREALSACKSUMSUM              8#define OSPFAREASUMMARY                  9#define OSPFAREASTATUS                   10/* OSPF MIB ospfStubAreaTable. */#define OSPFSTUBAREAID                   1#define OSPFSTUBTOS                      2#define OSPFSTUBMETRIC                   3#define OSPFSTUBSTATUS                   4#define OSPFSTUBMETRICTYPE               5/* OSPF MIB ospfLsdbTable. */#define OSPFLSDBAREAID                   1#define OSPFLSDBTYPE                     2#define OSPFLSDBLSID                     3#define OSPFLSDBROUTERID                 4#define OSPFLSDBSEQUENCE                 5#define OSPFLSDBAGE                      6#define OSPFLSDBCHECKSUM                 7#define OSPFLSDBADVERTISEMENT            8/* OSPF MIB ospfAreaRangeTable. */#define OSPFAREARANGEAREAID              1#define OSPFAREARANGENET                 2#define OSPFAREARANGEMASK                3#define OSPFAREARANGESTATUS              4#define OSPFAREARANGEEFFECT              5/* OSPF MIB ospfHostTable. */#define OSPFHOSTIPADDRESS                1#define OSPFHOSTTOS                      2#define OSPFHOSTMETRIC                   3#define OSPFHOSTSTATUS                   4#define OSPFHOSTAREAID                   5/* OSPF MIB ospfIfTable. */#define OSPFIFIPADDRESS                  1#define OSPFADDRESSLESSIF                2#define OSPFIFAREAID                     3#define OSPFIFTYPE                       4#define OSPFIFADMINSTAT                  5#define OSPFIFRTRPRIORITY                6#define OSPFIFTRANSITDELAY               7#define OSPFIFRETRANSINTERVAL            8#define OSPFIFHELLOINTERVAL              9#define OSPFIFRTRDEADINTERVAL            10#define OSPFIFPOLLINTERVAL               11#define OSPFIFSTATE                      12#define OSPFIFDESIGNATEDROUTER           13#define OSPFIFBACKUPDESIGNATEDROUTER     14#define OSPFIFEVENTS                     15#define OSPFIFAUTHKEY                    16#define OSPFIFSTATUS                     17#define OSPFIFMULTICASTFORWARDING        18#define OSPFIFDEMAND                     19#define OSPFIFAUTHTYPE                   20/* OSPF MIB ospfIfMetricTable. */#define OSPFIFMETRICIPADDRESS            1#define OSPFIFMETRICADDRESSLESSIF        2#define OSPFIFMETRICTOS                  3#define OSPFIFMETRICVALUE                4#define OSPFIFMETRICSTATUS               5/* OSPF MIB ospfVirtIfTable. */#define OSPFVIRTIFAREAID                 1#define OSPFVIRTIFNEIGHBOR               2#define OSPFVIRTIFTRANSITDELAY           3#define OSPFVIRTIFRETRANSINTERVAL        4#define OSPFVIRTIFHELLOINTERVAL          5#define OSPFVIRTIFRTRDEADINTERVAL        6#define OSPFVIRTIFSTATE                  7#define OSPFVIRTIFEVENTS                 8#define OSPFVIRTIFAUTHKEY                9#define OSPFVIRTIFSTATUS                 10#define OSPFVIRTIFAUTHTYPE               11/* OSPF MIB ospfNbrTable. */#define OSPFNBRIPADDR                    1#define OSPFNBRADDRESSLESSINDEX          2#define OSPFNBRRTRID                     3#define OSPFNBROPTIONS                   4#define OSPFNBRPRIORITY                  5#define OSPFNBRSTATE                     6#define OSPFNBREVENTS                    7#define OSPFNBRLSRETRANSQLEN             8#define OSPFNBMANBRSTATUS                9#define OSPFNBMANBRPERMANENCE            10#define OSPFNBRHELLOSUPPRESSED           11/* OSPF MIB ospfVirtNbrTable. */#define OSPFVIRTNBRAREA                  1#define OSPFVIRTNBRRTRID                 2#define OSPFVIRTNBRIPADDR                3#define OSPFVIRTNBROPTIONS               4#define OSPFVIRTNBRSTATE                 5#define OSPFVIRTNBREVENTS                6#define OSPFVIRTNBRLSRETRANSQLEN         7#define OSPFVIRTNBRHELLOSUPPRESSED       8/* OSPF MIB ospfExtLsdbTable. */#define OSPFEXTLSDBTYPE                  1#define OSPFEXTLSDBLSID                  2#define OSPFEXTLSDBROUTERID              3#define OSPFEXTLSDBSEQUENCE              4#define OSPFEXTLSDBAGE                   5#define OSPFEXTLSDBCHECKSUM              6#define OSPFEXTLSDBADVERTISEMENT         7/* OSPF MIB ospfAreaAggregateTable. */#define OSPFAREAAGGREGATEAREAID          1#define OSPFAREAAGGREGATELSDBTYPE        2#define OSPFAREAAGGREGATENET             3#define OSPFAREAAGGREGATEMASK            4#define OSPFAREAAGGREGATESTATUS          5#define OSPFAREAAGGREGATEEFFECT          6/* SYNTAX Status from OSPF-MIB. */#define OSPF_STATUS_ENABLED  1#define OSPF_STATUS_DISABLED 2/* SNMP value hack. */#define COUNTER     ASN_COUNTER#define INTEGER     ASN_INTEGER#define GAUGE       ASN_GAUGE#define TIMETICKS   ASN_TIMETICKS#define IPADDRESS   ASN_IPADDRESS#define STRING      ASN_OCTET_STR/* Declare static local variables for convenience. */SNMP_LOCAL_VARIABLES/* OSPF-MIB instances. */oid ospf_oid [] = { OSPF2MIB };oid ospfd_oid [] = { OSPFDOID };/* IP address 0.0.0.0. */static struct in_addr ospf_empty_addr = {0};/* Hook functions. */static u_char *ospfGeneralGroup ();static u_char *ospfAreaEntry ();static u_char *ospfStubAreaEntry ();static u_char *ospfLsdbEntry ();static u_char *ospfAreaRangeEntry ();static u_char *ospfHostEntry ();static u_char *ospfIfEntry ();static u_char *ospfIfMetricEntry ();static u_char *ospfVirtIfEntry ();static u_char *ospfNbrEntry ();static u_char *ospfVirtNbrEntry ();static u_char *ospfExtLsdbEntry ();static u_char *ospfAreaAggregateEntry ();struct variable ospf_variables[] = {  /* OSPF general variables */  {OSPFROUTERID,              IPADDRESS, RWRITE, ospfGeneralGroup,   2, {1, 1}},  {OSPFADMINSTAT,             INTEGER, RWRITE, ospfGeneralGroup,   2, {1, 2}},  {OSPFVERSIONNUMBER,         INTEGER, RONLY, ospfGeneralGroup,   2, {1, 3}},  {OSPFAREABDRRTRSTATUS,      INTEGER, RONLY, ospfGeneralGroup,   2, {1, 4}},  {OSPFASBDRRTRSTATUS,        INTEGER, RWRITE, ospfGeneralGroup,   2, {1, 5}},  {OSPFEXTERNLSACOUNT,        GAUGE, RONLY, ospfGeneralGroup,   2, {1, 6}},  {OSPFEXTERNLSACKSUMSUM,     INTEGER, RONLY, ospfGeneralGroup,   2, {1, 7}},  {OSPFTOSSUPPORT,            INTEGER, RWRITE, ospfGeneralGroup,   2, {1, 8}},  {OSPFORIGINATENEWLSAS,      COUNTER, RONLY, ospfGeneralGroup,   2, {1, 9}},  {OSPFRXNEWLSAS,             COUNTER, RONLY, ospfGeneralGroup,   2, {1, 10}},  {OSPFEXTLSDBLIMIT,          INTEGER, RWRITE, ospfGeneralGroup,   2, {1, 11}},  {OSPFMULTICASTEXTENSIONS,   INTEGER, RWRITE, ospfGeneralGroup,   2, {1, 12}},  {OSPFEXITOVERFLOWINTERVAL,  INTEGER, RWRITE, ospfGeneralGroup,   2, {1, 13}},  {OSPFDEMANDEXTENSIONS,      INTEGER, RWRITE, ospfGeneralGroup,   2, {1, 14}},  /* OSPF area data structure. */  {OSPFAREAID,                IPADDRESS, RONLY, ospfAreaEntry,   3, {2, 1, 1}},  {OSPFAUTHTYPE,              INTEGER, RWRITE, ospfAreaEntry,   3, {2, 1, 2}},  {OSPFIMPORTASEXTERN,        INTEGER, RWRITE, ospfAreaEntry,   3, {2, 1, 3}},  {OSPFSPFRUNS,               COUNTER, RONLY, ospfAreaEntry,   3, {2, 1, 4}},  {OSPFAREABDRRTRCOUNT,       GAUGE, RONLY, ospfAreaEntry,   3, {2, 1, 5}},  {OSPFASBDRRTRCOUNT,         GAUGE, RONLY, ospfAreaEntry,   3, {2, 1, 6}},  {OSPFAREALSACOUNT,          GAUGE, RONLY, ospfAreaEntry,   3, {2, 1, 7}},  {OSPFAREALSACKSUMSUM,       INTEGER, RONLY, ospfAreaEntry,   3, {2, 1, 8}},  {OSPFAREASUMMARY,           INTEGER, RWRITE, ospfAreaEntry,   3, {2, 1, 9}},  {OSPFAREASTATUS,            INTEGER, RWRITE, ospfAreaEntry,   3, {2, 1, 10}},  /* OSPF stub area information. */  {OSPFSTUBAREAID,            IPADDRESS, RONLY, ospfStubAreaEntry,   3, {3, 1, 1}},  {OSPFSTUBTOS,               INTEGER, RONLY, ospfStubAreaEntry,   3, {3, 1, 2}},  {OSPFSTUBMETRIC,            INTEGER, RWRITE, ospfStubAreaEntry,   3, {3, 1, 3}},  {OSPFSTUBSTATUS,            INTEGER, RWRITE, ospfStubAreaEntry,   3, {3, 1, 4}},  {OSPFSTUBMETRICTYPE,        INTEGER, RWRITE, ospfStubAreaEntry,   3, {3, 1, 5}},  /* OSPF link state database. */  {OSPFLSDBAREAID,            IPADDRESS, RONLY, ospfLsdbEntry,   3, {4, 1, 1}},  {OSPFLSDBTYPE,              INTEGER, RONLY, ospfLsdbEntry,   3, {4, 1, 2}},  {OSPFLSDBLSID,              IPADDRESS, RONLY, ospfLsdbEntry,   3, {4, 1, 3}},  {OSPFLSDBROUTERID,          IPADDRESS, RONLY, ospfLsdbEntry,   3, {4, 1, 4}},  {OSPFLSDBSEQUENCE,          INTEGER, RONLY, ospfLsdbEntry,   3, {4, 1, 5}},  {OSPFLSDBAGE,               INTEGER, RONLY, ospfLsdbEntry,   3, {4, 1, 6}},  {OSPFLSDBCHECKSUM,          INTEGER, RONLY, ospfLsdbEntry,   3, {4, 1, 7}},  {OSPFLSDBADVERTISEMENT,     STRING, RONLY, ospfLsdbEntry,   3, {4, 1, 8}},  /* Area range table. */  {OSPFAREARANGEAREAID,       IPADDRESS, RONLY, ospfAreaRangeEntry,   3, {5, 1, 1}},  {OSPFAREARANGENET,          IPADDRESS, RONLY, ospfAreaRangeEntry,   3, {5, 1, 2}},  {OSPFAREARANGEMASK,         IPADDRESS, RWRITE, ospfAreaRangeEntry,   3, {5, 1, 3}},  {OSPFAREARANGESTATUS,       INTEGER, RWRITE, ospfAreaRangeEntry,   3, {5, 1, 4}},  {OSPFAREARANGEEFFECT,       INTEGER, RWRITE, ospfAreaRangeEntry,   3, {5, 1, 5}},  /* OSPF host table. */  {OSPFHOSTIPADDRESS,         IPADDRESS, RONLY, ospfHostEntry,   3, {6, 1, 1}},  {OSPFHOSTTOS,               INTEGER, RONLY, ospfHostEntry,   3, {6, 1, 2}},  {OSPFHOSTMETRIC,            INTEGER, RWRITE, ospfHostEntry,   3, {6, 1, 3}},  {OSPFHOSTSTATUS,            INTEGER, RWRITE, ospfHostEntry,   3, {6, 1, 4}},  {OSPFHOSTAREAID,            IPADDRESS, RONLY, ospfHostEntry,   3, {6, 1, 5}},  /* OSPF interface table. */  {OSPFIFIPADDRESS,           IPADDRESS, RONLY, ospfIfEntry,   3, {7, 1, 1}},  {OSPFADDRESSLESSIF,         INTEGER, RONLY, ospfIfEntry,   3, {7, 1, 2}},  {OSPFIFAREAID,              IPADDRESS, RWRITE, ospfIfEntry,   3, {7, 1, 3}},  {OSPFIFTYPE,                INTEGER, RWRITE, ospfIfEntry,   3, {7, 1, 4}},  {OSPFIFADMINSTAT,           INTEGER, RWRITE, ospfIfEntry,   3, {7, 1, 5}},  {OSPFIFRTRPRIORITY,         INTEGER, RWRITE, ospfIfEntry,   3, {7, 1, 6}},  {OSPFIFTRANSITDELAY,        INTEGER, RWRITE, ospfIfEntry,   3, {7, 1, 7}},  {OSPFIFRETRANSINTERVAL,     INTEGER, RWRITE, ospfIfEntry,   3, {7, 1, 8}},  {OSPFIFHELLOINTERVAL,       INTEGER, RWRITE, ospfIfEntry,   3, {7, 1, 9}},  {OSPFIFRTRDEADINTERVAL,     INTEGER, RWRITE, ospfIfEntry,   3, {7, 1, 10}},  {OSPFIFPOLLINTERVAL,        INTEGER, RWRITE, ospfIfEntry,   3, {7, 1, 11}},  {OSPFIFSTATE,               INTEGER, RONLY, ospfIfEntry,   3, {7, 1, 12}},  {OSPFIFDESIGNATEDROUTER,    IPADDRESS, RONLY, ospfIfEntry,   3, {7, 1, 13}},  {OSPFIFBACKUPDESIGNATEDROUTER, IPADDRESS, RONLY, ospfIfEntry,   3, {7, 1, 14}},  {OSPFIFEVENTS,              COUNTER, RONLY, ospfIfEntry,   3, {7, 1, 15}},  {OSPFIFAUTHKEY,             STRING,  RWRITE, ospfIfEntry,   3, {7, 1, 16}},  {OSPFIFSTATUS,              INTEGER, RWRITE, ospfIfEntry,   3, {7, 1, 17}},  {OSPFIFMULTICASTFORWARDING, INTEGER, RWRITE, ospfIfEntry,   3, {7, 1, 18}},  {OSPFIFDEMAND,              INTEGER, RWRITE, ospfIfEntry,   3, {7, 1, 19}},  {OSPFIFAUTHTYPE,            INTEGER, RWRITE, ospfIfEntry,   3, {7, 1, 20}},  /* OSPF interface metric table. */  {OSPFIFMETRICIPADDRESS,     IPADDRESS, RONLY, ospfIfMetricEntry,   3, {8, 1, 1}},  {OSPFIFMETRICADDRESSLESSIF, INTEGER, RONLY, ospfIfMetricEntry,   3, {8, 1, 2}},  {OSPFIFMETRICTOS,           INTEGER, RONLY, ospfIfMetricEntry,   3, {8, 1, 3}},  {OSPFIFMETRICVALUE,         INTEGER, RWRITE, ospfIfMetricEntry,   3, {8, 1, 4}},  {OSPFIFMETRICSTATUS,        INTEGER, RWRITE, ospfIfMetricEntry,   3, {8, 1, 5}},  /* OSPF virtual interface table. */  {OSPFVIRTIFAREAID,          IPADDRESS, RONLY, ospfVirtIfEntry,   3, {9, 1, 1}},  {OSPFVIRTIFNEIGHBOR,        IPADDRESS, RONLY, ospfVirtIfEntry,   3, {9, 1, 2}},  {OSPFVIRTIFTRANSITDELAY,    INTEGER, RWRITE, ospfVirtIfEntry,   3, {9, 1, 3}},  {OSPFVIRTIFRETRANSINTERVAL, INTEGER, RWRITE, ospfVirtIfEntry,   3, {9, 1, 4}},  {OSPFVIRTIFHELLOINTERVAL,   INTEGER, RWRITE, ospfVirtIfEntry,   3, {9, 1, 5}},  {OSPFVIRTIFRTRDEADINTERVAL, INTEGER, RWRITE, ospfVirtIfEntry,   3, {9, 1, 6}},  {OSPFVIRTIFSTATE,           INTEGER, RONLY, ospfVirtIfEntry,   3, {9, 1, 7}},  {OSPFVIRTIFEVENTS,          COUNTER, RONLY, ospfVirtIfEntry,   3, {9, 1, 8}},  {OSPFVIRTIFAUTHKEY,         STRING,  RWRITE, ospfVirtIfEntry,   3, {9, 1, 9}},  {OSPFVIRTIFSTATUS,          INTEGER, RWRITE, ospfVirtIfEntry,   3, {9, 1, 10}},  {OSPFVIRTIFAUTHTYPE,        INTEGER, RWRITE, ospfVirtIfEntry,   3, {9, 1, 11}},  /* OSPF neighbor table. */  {OSPFNBRIPADDR,             IPADDRESS, RONLY, ospfNbrEntry,   3, {10, 1, 1}},  {OSPFNBRADDRESSLESSINDEX,   INTEGER, RONLY, ospfNbrEntry,   3, {10, 1, 2}},  {OSPFNBRRTRID,              IPADDRESS, RONLY, ospfNbrEntry,   3, {10, 1, 3}},  {OSPFNBROPTIONS,            INTEGER, RONLY, ospfNbrEntry,   3, {10, 1, 4}},  {OSPFNBRPRIORITY,           INTEGER, RWRITE, ospfNbrEntry,   3, {10, 1, 5}},  {OSPFNBRSTATE,              INTEGER, RONLY, ospfNbrEntry,   3, {10, 1, 6}},  {OSPFNBREVENTS,             COUNTER, RONLY, ospfNbrEntry,   3, {10, 1, 7}},  {OSPFNBRLSRETRANSQLEN,      GAUGE, RONLY, ospfNbrEntry,   3, {10, 1, 8}},  {OSPFNBMANBRSTATUS,         INTEGER, RWRITE, ospfNbrEntry,   3, {10, 1, 9}},  {OSPFNBMANBRPERMANENCE,     INTEGER, RONLY, ospfNbrEntry,   3, {10, 1, 10}},  {OSPFNBRHELLOSUPPRESSED,    INTEGER, RONLY, ospfNbrEntry,   3, {10, 1, 11}},  /* OSPF virtual neighbor table. */  {OSPFVIRTNBRAREA,           IPADDRESS, RONLY, ospfVirtNbrEntry,   3, {11, 1, 1}},  {OSPFVIRTNBRRTRID,          IPADDRESS, RONLY, ospfVirtNbrEntry,   3, {11, 1, 2}},  {OSPFVIRTNBRIPADDR,         IPADDRESS, RONLY, ospfVirtNbrEntry,   3, {11, 1, 3}},  {OSPFVIRTNBROPTIONS,        INTEGER, RONLY, ospfVirtNbrEntry,   3, {11, 1, 4}},  {OSPFVIRTNBRSTATE,          INTEGER, RONLY, ospfVirtNbrEntry,   3, {11, 1, 5}},  {OSPFVIRTNBREVENTS,         COUNTER, RONLY, ospfVirtNbrEntry,   3, {11, 1, 6}},  {OSPFVIRTNBRLSRETRANSQLEN,  INTEGER, RONLY, ospfVirtNbrEntry,   3, {11, 1, 7}},  {OSPFVIRTNBRHELLOSUPPRESSED, INTEGER, RONLY, ospfVirtNbrEntry,   3, {11, 1, 8}},  /* OSPF link state database, external. */  {OSPFEXTLSDBTYPE,           INTEGER, RONLY, ospfExtLsdbEntry,   3, {12, 1, 1}},  {OSPFEXTLSDBLSID,           IPADDRESS, RONLY, ospfExtLsdbEntry,   3, {12, 1, 2}},  {OSPFEXTLSDBROUTERID,       IPADDRESS, RONLY, ospfExtLsdbEntry,   3, {12, 1, 3}},  {OSPFEXTLSDBSEQUENCE,       INTEGER, RONLY, ospfExtLsdbEntry,   3, {12, 1, 4}},  {OSPFEXTLSDBAGE,            INTEGER, RONLY, ospfExtLsdbEntry,   3, {12, 1, 5}},  {OSPFEXTLSDBCHECKSUM,       INTEGER, RONLY, ospfExtLsdbEntry,   3, {12, 1, 6}},  {OSPFEXTLSDBADVERTISEMENT,  STRING,  RONLY, ospfExtLsdbEntry,   3, {12, 1, 7}},  /* OSPF area aggregate table. */  {OSPFAREAAGGREGATEAREAID,   IPADDRESS, RONLY, ospfAreaAggregateEntry,    3, {14, 1, 1}},  {OSPFAREAAGGREGATELSDBTYPE, INTEGER, RONLY, ospfAreaAggregateEntry,    3, {14, 1, 2}},  {OSPFAREAAGGREGATENET,      IPADDRESS, RONLY, ospfAreaAggregateEntry,    3, {14, 1, 3}},  {OSPFAREAAGGREGATEMASK,     IPADDRESS, RONLY, ospfAreaAggregateEntry,    3, {14, 1, 4}},  {OSPFAREAAGGREGATESTATUS,   INTEGER, RWRITE, ospfAreaAggregateEntry,   3, {14, 1, 5}},  {OSPFAREAAGGREGATEEFFECT,   INTEGER, RWRITE, ospfAreaAggregateEntry,   3, {14, 1, 6}}};/* The administrative status of OSPF.  When OSPF is enbled on at least   one interface return 1. */intospf_admin_stat (struct ospf *ospf){

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -