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

📄 bgpd.h

📁 linux 路由软件 可支持RIP OSPF BGP等
💻 H
📖 第 1 页 / 共 3 页
字号:
  /* Capability flags (reset in bgp_stop) */  u_int16_t af_cap[AFI_MAX][SAFI_MAX];#define PEER_CAP_ORF_PREFIX_SM_ADV          (1 << 0) /* send-mode advertised */#define PEER_CAP_ORF_PREFIX_RM_ADV          (1 << 1) /* receive-mode advertised */#define PEER_CAP_ORF_PREFIX_SM_RCV          (1 << 2) /* send-mode received */#define PEER_CAP_ORF_PREFIX_RM_RCV          (1 << 3) /* receive-mode received */#define PEER_CAP_ORF_PREFIX_SM_OLD_RCV      (1 << 4) /* send-mode received */#define PEER_CAP_ORF_PREFIX_RM_OLD_RCV      (1 << 5) /* receive-mode received */#define PEER_CAP_RESTART_AF_RCV		    (1 << 6) /* graceful restart afi/safi received */#define PEER_CAP_RESTART_AF_PRESERVE_RCV    (1 << 7) /* graceful restart afi/safi F-bit received */  /* Global configuration flags. */  u_int32_t flags;#define PEER_FLAG_CONNECT_MODE_PASSIVE      (1 << 0) /* tranport connection-mode passive */#define PEER_FLAG_CONNECT_MODE_ACTIVE       (1 << 1) /* tranport connection-mode active */#define PEER_FLAG_SHUTDOWN                  (1 << 2) /* shutdown */#define PEER_FLAG_DONT_CAPABILITY           (1 << 3) /* dont-capability */#define PEER_FLAG_OVERRIDE_CAPABILITY       (1 << 4) /* override-capability */#define PEER_FLAG_STRICT_CAP_MATCH          (1 << 5) /* strict-match */#define PEER_FLAG_DYNAMIC_CAPABILITY        (1 << 6) /* dynamic capability */#define PEER_FLAG_DISABLE_CONNECTED_CHECK   (1 << 7) /* disable-connected-check */#define PEER_FLAG_LOCAL_AS_NO_PREPEND       (1 << 8) /* local-as no-prepend */#define PEER_FLAG_PASSWORD                  (1 << 9) /* password */  /* NSF mode (graceful restart) */  u_char nsf[AFI_MAX][SAFI_MAX];  /* Per AF configuration flags. */  u_int32_t af_flags[AFI_MAX][SAFI_MAX];#define PEER_FLAG_SEND_COMMUNITY            (1 << 0) /* send-community */#define PEER_FLAG_SEND_EXT_COMMUNITY        (1 << 1) /* send-community ext. */#define PEER_FLAG_NEXTHOP_SELF              (1 << 2) /* next-hop-self */#define PEER_FLAG_REFLECTOR_CLIENT          (1 << 3) /* reflector-client */#define PEER_FLAG_RSERVER_CLIENT            (1 << 4) /* route-server-client */#define PEER_FLAG_SOFT_RECONFIG             (1 << 5) /* soft-reconfiguration */#define PEER_FLAG_AS_PATH_UNCHANGED         (1 << 6) /* transparent-as */#define PEER_FLAG_NEXTHOP_UNCHANGED         (1 << 7) /* transparent-next-hop */#define PEER_FLAG_MED_UNCHANGED             (1 << 8) /* transparent-next-hop */#define PEER_FLAG_DEFAULT_ORIGINATE         (1 << 9) /* default-originate */#define PEER_FLAG_REMOVE_PRIVATE_AS         (1 << 10) /* remove-private-as */#define PEER_FLAG_ALLOWAS_IN                (1 << 11) /* set allowas-in */#define PEER_FLAG_ORF_PREFIX_SM             (1 << 12) /* orf capability send-mode */#define PEER_FLAG_ORF_PREFIX_RM             (1 << 13) /* orf capability receive-mode */#define PEER_FLAG_MAX_PREFIX                (1 << 14) /* maximum prefix */#define PEER_FLAG_MAX_PREFIX_WARNING        (1 << 15) /* maximum prefix warning-only */  /* address family configuration */  u_int32_t af_config[AFI_MAX][SAFI_MAX];#define PEER_AF_CONFIG_WEIGHT               (1 << 0) /* Default weight. */  u_int16_t weight[AFI_MAX][SAFI_MAX];  /* password for TCP signature */  char *password;  /* default-originate route-map.  */  struct  {    char *name;    struct route_map *map;  } default_rmap[AFI_MAX][SAFI_MAX];  /* Peer status flags. */  u_int16_t sflags;#define PEER_STATUS_ACCEPT_PEER	      (1 << 0) /* accept peer */#define PEER_STATUS_PREFIX_OVERFLOW   (1 << 1) /* prefix-overflow */#define PEER_STATUS_CAPABILITY_OPEN   (1 << 2) /* capability open send */#define PEER_STATUS_HAVE_ACCEPT       (1 << 3) /* accept peer's parent */#define PEER_STATUS_GROUP             (1 << 4) /* peer-group conf */#define PEER_STATUS_CREATE_INIT       (1 << 5) /* peer create init */#define PEER_STATUS_NSF_MODE          (1 << 6) /* NSF aware peer */#define PEER_STATUS_NSF_WAIT          (1 << 7) /* wait comeback peer */  /* Peer status af flags (reset in bgp_stop) */  u_int16_t af_sflags[AFI_MAX][SAFI_MAX];#define PEER_STATUS_ORF_PREFIX_SEND   (1 << 0) /* prefix-list send peer */#define PEER_STATUS_ORF_WAIT_REFRESH  (1 << 1) /* wait refresh received peer */#define PEER_STATUS_DEFAULT_ORIGINATE (1 << 2) /* default-originate peer */#define PEER_STATUS_PREFIX_THRESHOLD  (1 << 3) /* exceed prefix-threshold */#define PEER_STATUS_PREFIX_LIMIT      (1 << 4) /* exceed prefix-limit */#define PEER_STATUS_EOR_SEND          (1 << 5) /* end-of-rib send to peer */#define PEER_STATUS_EOR_RECEIVED      (1 << 6) /* end-of-rib received from peer */  /* Default attribute value for the peer. */  u_int32_t config;#define PEER_CONFIG_TIMER             (1 << 1) /* keepalive & holdtime */#define PEER_CONFIG_ROUTEADV          (1 << 2) /* route advertise */  u_int32_t holdtime;  u_int32_t keepalive;  u_int32_t routeadv;  /* Timer values. */  u_int32_t v_start;  u_int32_t v_connect;  u_int32_t v_holdtime;  u_int32_t v_keepalive;  u_int32_t v_asorig;  u_int32_t v_routeadv;  u_int32_t v_pmax_restart;  u_int32_t v_active_delay;  u_int32_t v_gr_restart;  /* Threads. */  struct thread *t_read;  struct thread *t_write;  struct thread *t_start;  struct thread *t_connect;  struct thread *t_holdtime;  struct thread *t_keepalive;  struct thread *t_asorig;  struct thread *t_routeadv[AFI_MAX][SAFI_MAX];  struct thread *t_pmax_restart;  struct thread *t_gr_restart;  struct thread *t_gr_stale;  /* Statistics field */  u_int32_t open_in;		/* Open message input count */  u_int32_t open_out;		/* Open message output count */  u_int32_t update_in;		/* Update message input count */  u_int32_t update_out;		/* Update message ouput count */  time_t update_time;		/* Update message received time. */  u_int32_t keepalive_in;	/* Keepalive input count */  u_int32_t keepalive_out;	/* Keepalive output count */  u_int32_t notify_in;		/* Notify input count */  u_int32_t notify_out;		/* Notify output count */  u_int32_t refresh_in;		/* Route Refresh input count */  u_int32_t refresh_out;	/* Route Refresh output count */  u_int32_t dynamic_cap_in;	/* Dynamic Capability input count.  */  u_int32_t dynamic_cap_out;	/* Dynamic Capability output count.  */  /* BGP state count */  u_int32_t established;	/* Established */  u_int32_t dropped;		/* Dropped */  /* Syncronization list and time.  */  struct bgp_synchronize *sync[AFI_MAX][SAFI_MAX];  time_t synctime[AFI_MAX][SAFI_MAX];  /* Send prefix count. */  unsigned long scount[AFI_MAX][SAFI_MAX];  /* Announcement attribute hash.  */  struct hash *hash[AFI_MAX][SAFI_MAX];  /* Notify data. */  struct bgp_notify notify;  /* Whole packet size to be read. */  unsigned long packet_size;  /* Filter structure. */  struct bgp_filter filter[AFI_MAX][SAFI_MAX];  /* ORF Prefix-list */  struct prefix_list *orf_plist[AFI_MAX][SAFI_MAX];  /* Prefix count. */  unsigned long pcount[AFI_MAX][SAFI_MAX];  /* Max prefix count. */  unsigned long pmax[AFI_MAX][SAFI_MAX];  u_char pmax_threshold[AFI_MAX][SAFI_MAX];  u_int16_t pmax_restart[AFI_MAX][SAFI_MAX];#define MAXIMUM_PREFIX_THRESHOLD_DEFAULT 75  /* allowas-in. */  char allowas_in[AFI_MAX][SAFI_MAX];  /* peer reset cause */  char last_reset;#define PEER_DOWN_RID_CHANGE             1 /* bgp router-id command */#define PEER_DOWN_REMOTE_AS_CHANGE       2 /* neighbor remote-as command */#define PEER_DOWN_LOCAL_AS_CHANGE        3 /* neighbor local-as command */#define PEER_DOWN_CLID_CHANGE            4 /* bgp cluster-id command */#define PEER_DOWN_CONFED_ID_CHANGE       5 /* bgp confederation identifier command */#define PEER_DOWN_CONFED_PEER_CHANGE     6 /* bgp confederation peer command */#define PEER_DOWN_RR_CLIENT_CHANGE       7 /* neighbor route-reflector-client command */#define PEER_DOWN_RS_CLIENT_CHANGE       8 /* neighbor route-server-client command */#define PEER_DOWN_UPDATE_SOURCE_CHANGE   9 /* neighbor update-source command */#define PEER_DOWN_AF_ACTIVATE           10 /* neighbor activate command */#define PEER_DOWN_USER_SHUTDOWN         11 /* neighbor shutdown command */#define PEER_DOWN_USER_RESET            12 /* clear ip bgp command */#define PEER_DOWN_NOTIFY_RECEIVED       13 /* notification received */#define PEER_DOWN_NOTIFY_SEND           14 /* notification send */#define PEER_DOWN_CLOSE_SESSION         15 /* tcp session close */#define PEER_DOWN_NEIGHBOR_DELETE       16 /* neghbor delete */#define PEER_DOWN_RMAP_BIND             17 /* neghbor peer-group command */#define PEER_DOWN_RMAP_UNBIND           18 /* no neighbor peer-group command */#define PEER_DOWN_CAPABILITY_CHANGE     19 /* neighbor capability command */#define PEER_DOWN_MULTIHOP_CHANGE       20 /* neighbor multihop command */#define PEER_DOWN_PASSWORD_CHANGE       21 /* neighbor password command */#define PEER_DOWN_NSF_CLOSE_SESSION     22 /* NSF tcp session close */  /* The kind of route-map Flags.*/  u_char rmap_type;#define PEER_RMAP_TYPE_IN             (1 << 0) /* neighbor route-map in */#define PEER_RMAP_TYPE_OUT            (1 << 1) /* neighbor route-map out */#define PEER_RMAP_TYPE_NETWORK        (1 << 2) /* network route-map */#define PEER_RMAP_TYPE_REDISTRIBUTE   (1 << 3) /* redistribute route-map */#define PEER_RMAP_TYPE_DEFAULT        (1 << 4) /* default-originate route-map */#define PEER_RMAP_TYPE_NOSET          (1 << 5) /* not allow to set commands */#ifdef HAVE_OPENBSD_TCP_SIGNATURE  u_int32_t spi_in;  u_int32_t spi_out;#endif /* HAVE_OPENBSD_TCP_SIGNATURE */};/* This structure's member directly points incoming packet data   stream. */struct bgp_nlri{  /* AFI.  */  afi_t afi;  /* SAFI.  */  safi_t safi;  /* Pointer to NLRI byte stream.  */  u_char *nlri;  /* Length of whole NLRI.  */  bgp_size_t length;};/* BGP versions.  */#define BGP_VERSION_4		                 4/* Default BGP port number.  */#define BGP_PORT_DEFAULT                       179/* BGP message header and packet size.  */#define BGP_MARKER_SIZE		                16#define BGP_HEADER_SIZE		                19#define BGP_MAX_PACKET_SIZE                   4096/* BGP minimum message size.  */#define BGP_MSG_OPEN_MIN_SIZE                   (BGP_HEADER_SIZE + 10)#define BGP_MSG_UPDATE_MIN_SIZE                 (BGP_HEADER_SIZE + 4)#define BGP_MSG_NOTIFY_MIN_SIZE                 (BGP_HEADER_SIZE + 2)#define BGP_MSG_KEEPALIVE_MIN_SIZE              (BGP_HEADER_SIZE + 0)#define BGP_MSG_ROUTE_REFRESH_MIN_SIZE          (BGP_HEADER_SIZE + 4)#define BGP_MSG_CAPABILITY_MIN_SIZE             (BGP_HEADER_SIZE + 3)/* BGP message types.  */#define	BGP_MSG_OPEN		                 1#define	BGP_MSG_UPDATE		                 2#define	BGP_MSG_NOTIFY		                 3#define	BGP_MSG_KEEPALIVE	                 4#define BGP_MSG_ROUTE_REFRESH_NEW                5#define BGP_MSG_CAPABILITY                       6#define BGP_MSG_ROUTE_REFRESH_OLD              128/* BGP open optional parameter.  */#define BGP_OPEN_OPT_AUTH                        1#define BGP_OPEN_OPT_CAP                         2/* BGP4 attribute type codes.  */#define BGP_ATTR_ORIGIN                          1#define BGP_ATTR_AS_PATH                         2#define BGP_ATTR_NEXT_HOP                        3#define BGP_ATTR_MULTI_EXIT_DISC                 4#define BGP_ATTR_LOCAL_PREF                      5#define BGP_ATTR_ATOMIC_AGGREGATE                6#define BGP_ATTR_AGGREGATOR                      7#define BGP_ATTR_COMMUNITIES                     8#define BGP_ATTR_ORIGINATOR_ID                   9#define BGP_ATTR_CLUSTER_LIST                   10#define BGP_ATTR_DPA                            11#define BGP_ATTR_ADVERTISER                     12#define BGP_ATTR_RCID_PATH                      13#define BGP_ATTR_MP_REACH_NLRI                  14#define BGP_ATTR_MP_UNREACH_NLRI                15#define BGP_ATTR_EXT_COMMUNITIES                16#define BGP_ATTR_NEW_ASPATH                     17#define BGP_ATTR_NEW_AGGREGATOR                 18/* BGP update origin.  */#define BGP_ORIGIN_IGP                           0#define BGP_ORIGIN_EGP                           1#define BGP_ORIGIN_INCOMPLETE                    2/* BGP notify message codes.  */#define BGP_NOTIFY_HEADER_ERR                    1#define BGP_NOTIFY_OPEN_ERR                      2#define BGP_NOTIFY_UPDATE_ERR                    3#define BGP_NOTIFY_HOLD_ERR                      4#define BGP_NOTIFY_FSM_ERR                       5#define BGP_NOTIFY_CEASE                         6#define BGP_NOTIFY_CAPABILITY_ERR                7#define BGP_NOTIFY_MAX	                         8/* BGP_NOTIFY_HEADER_ERR sub codes.  */#define BGP_NOTIFY_HEADER_NOT_SYNC               1#define BGP_NOTIFY_HEADER_BAD_MESLEN             2#define BGP_NOTIFY_HEADER_BAD_MESTYPE            3#define BGP_NOTIFY_HEADER_MAX                    4/* BGP_NOTIFY_OPEN_ERR sub codes.  */#define BGP_NOTIFY_OPEN_UNSUP_VERSION            1#define BGP_NOTIFY_OPEN_BAD_PEER_AS              2#define BGP_NOTIFY_OPEN_BAD_BGP_IDENT            3#define BGP_NOTIFY_OPEN_UNSUP_PARAM              4#define BGP_NOTIFY_OPEN_AUTH_FAILURE             5#define BGP_NOTIFY_OPEN_UNACEP_HOLDTIME          6#define BGP_NOTIFY_OPEN_UNSUP_CAPBL              7

⌨️ 快捷键说明

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