diff options
author | Chris Hall <chris.hall@highwayman.com> | 2011-08-12 15:06:06 +0100 |
---|---|---|
committer | Chris Hall <chris.hall@highwayman.com> | 2011-08-12 15:06:06 +0100 |
commit | cec1fae79110dffa900c0c5f38c3d3b48f5b0db6 (patch) | |
tree | 408055322e19098b98766168624f1b96865ac73b /bgpd/bgp_peer.h | |
parent | 228e06bad624a33090da4a09f32f8fed84a7e15c (diff) | |
parent | 7bd8653ef788a6395b07583d6766be8950598342 (diff) | |
download | quagga-ex18p.tar.bz2 quagga-ex18p.tar.xz |
Merge branch 'euro_ix' of /git/quagga.euro-ix into pipeworkex18p
Merge with euro_ix branch v0.99.18ex17.
Update version to: 0.99.18ex18p
Of particular note:
* includes support for GTSM:
neighbor ... ttl-security hops X
no neighbor ... ttl-security hops X
where X is 1-254. For usual case of immediately connected
peer, X == 1.
Cannot set ttl-security while ebgp-multihop is set, and
vice-versa.
If underlying O/S does not support GTSM, then will set ttl
as per ebgp-multihop.
In passing, have fixed various bugs in the main Quagga branch.
* initial support for draft-ietf-idr-optional-transitive
Does not yet support "neighbor-complete" flag.
* main Quagga now uses TCP_CORK and permanent non-blocking
Do not beleive TCP_CORK to be necessary for euro_ix code...
which has a different buffering strategy.
The euro_ix code already runs sockets permanently non-blocking.
* various fixes to attribute intern/unintern
Trying to remove memory leaks. Nobody seems convinced that
this has been perfected, yet.
* fixes for ospfd and ospf6d issues.
Up to date with master branch up to:
commit 538cb284864c17de66152a5236db4cd80e3e7639
Merge: 036a6e6 8ced4e8
Author: Paul Jakma <paul@quagga.net>
Date: Fri Jul 29 18:21:50 2011 +0100
Diffstat (limited to 'bgpd/bgp_peer.h')
-rw-r--r-- | bgpd/bgp_peer.h | 53 |
1 files changed, 17 insertions, 36 deletions
diff --git a/bgpd/bgp_peer.h b/bgpd/bgp_peer.h index 37738a63..89708661 100644 --- a/bgpd/bgp_peer.h +++ b/bgpd/bgp_peer.h @@ -236,7 +236,9 @@ struct peer bgp_peer_index_entry index_entry ; bgp_session session ; /* Current session */ - int ttl; /* TTL of TCP connection to the peer. */ + int ttl ; /* TTL of TCP connection to the peer. */ + bool gtsm ; /* ttl set by neighbor xxx ttl_security */ + char *desc; /* Description of the peer. */ unsigned short port; /* Destination port for peer */ char *host; /* Printable address of the peer. */ @@ -471,44 +473,23 @@ extern const char *peer_down_str[]; * */ -extern void -bgp_session_do_event(mqueue_block mqb, mqb_flag_t flag); - -extern void -bgp_peer_enable(bgp_peer peer); - -extern void -bgp_peer_down(bgp_peer peer, peer_down_t why_down) ; - -extern void -bgp_peer_down_error(struct peer* peer, - bgp_nom_code_t code, bgp_nom_subcode_t subcode) ; -extern void -bgp_peer_down_error_with_data (struct peer* peer, +extern void bgp_session_do_event(mqueue_block mqb, mqb_flag_t flag); +extern void bgp_peer_enable(bgp_peer peer); +extern void bgp_peer_down(bgp_peer peer, peer_down_t why_down) ; +extern void bgp_peer_down_error(bgp_peer peer, + bgp_nom_code_t code, bgp_nom_subcode_t subcode) ; +extern void bgp_peer_down_error_with_data (bgp_peer peer, bgp_nom_code_t code, bgp_nom_subcode_t subcode, const u_int8_t* data, size_t datalen) ; - -extern void -bgp_peer_clearing_completed(struct peer *peer) ; - -extern struct peer * -bgp_peer_new (struct bgp *bgp); - -extern struct peer * -bgp_peer_create (union sockunion *su, struct bgp *bgp, as_t local_as, +extern void bgp_peer_clearing_completed(bgp_peer peer) ; +extern bgp_peer bgp_peer_new (struct bgp *bgp); +extern bgp_peer bgp_peer_create (sockunion su, struct bgp *bgp, as_t local_as, as_t remote_as, afi_t afi, safi_t safi); - -extern struct -peer *bgp_peer_lock (struct peer *) ; - -extern struct -peer *bgp_peer_unlock (struct peer *) ; - -extern int -bgp_peer_delete (struct peer *peer); - -extern sockunion -bgp_peer_get_ifaddress(bgp_peer peer, const char* ifname, pAF_t paf) ; +extern bgp_peer bgp_peer_lock (bgp_peer peer) ; +extern bgp_peer bgp_peer_unlock (bgp_peer peer) ; +extern int bgp_peer_delete (bgp_peer peer); +extern sockunion bgp_peer_get_ifaddress(bgp_peer peer, const char* ifname, + sa_family_t af) ; #endif /* _QUAGGA_BGP_PEER_H */ |