diff options
Diffstat (limited to 'bgpd/bgp_open.h')
-rw-r--r-- | bgpd/bgp_open.h | 40 |
1 files changed, 26 insertions, 14 deletions
diff --git a/bgpd/bgp_open.h b/bgpd/bgp_open.h index af7505a8..014bc330 100644 --- a/bgpd/bgp_open.h +++ b/bgpd/bgp_open.h @@ -34,36 +34,48 @@ struct capability struct capability_mp mpc; }; -/* Multiprotocol Extensions capabilities. */ -#define CAPABILITY_CODE_MP 1 -#define CAPABILITY_CODE_MP_LEN 4 +struct graceful_restart_af +{ + u_int16_t afi; + u_char safi; + u_char flag; +}; + +/* Capability Code */ +#define CAPABILITY_CODE_MP 1 /* Multiprotocol Extensions */ +#define CAPABILITY_CODE_REFRESH 2 /* Route Refresh Capability */ +#define CAPABILITY_CODE_ORF 3 /* Cooperative Route Filtering Capability */ +#define CAPABILITY_CODE_RESTART 64 /* Graceful Restart Capability */ +#define CAPABILITY_CODE_4BYTE_AS 65 /* 4-octet AS number Capability */ +#define CAPABILITY_CODE_DYNAMIC 66 /* Dynamic Capability */ +#define CAPABILITY_CODE_REFRESH_OLD 128 /* Route Refresh Capability(cisco) */ +#define CAPABILITY_CODE_ORF_OLD 130 /* Cooperative Route Filtering Capability(cisco) */ -/* Route refresh capabilities. */ -#define CAPABILITY_CODE_REFRESH 2 -#define CAPABILITY_CODE_REFRESH_OLD 128 +/* Capability Length */ +#define CAPABILITY_CODE_MP_LEN 4 #define CAPABILITY_CODE_REFRESH_LEN 0 +#define CAPABILITY_CODE_DYNAMIC_LEN 0 +#define CAPABILITY_CODE_RESTART_LEN 2 /* Receiving only case */ /* Cooperative Route Filtering Capability. */ -#define CAPABILITY_CODE_ORF 3 -#define CAPABILITY_CODE_ORF_OLD 130 -/* ORF Type. */ +/* ORF Type */ #define ORF_TYPE_PREFIX 64 #define ORF_TYPE_PREFIX_OLD 128 -/* ORF Mode. */ +/* ORF Mode */ #define ORF_MODE_RECEIVE 1 #define ORF_MODE_SEND 2 #define ORF_MODE_BOTH 3 -/* Dynamic capability. */ -#define CAPABILITY_CODE_DYNAMIC 66 -#define CAPABILITY_CODE_DYNAMIC_LEN 0 - /* Capability Message Action. */ #define CAPABILITY_ACTION_SET 0 #define CAPABILITY_ACTION_UNSET 1 +/* Graceful Restart */ +#define RESTART_R_BIT 0x8000 +#define RESTART_F_BIT 0x80 + int bgp_open_option_parse (struct peer *, u_char, int *); void bgp_open_capability (struct stream *, struct peer *); void bgp_capability_vty_out (struct vty *, struct peer *); |