summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_peer.h
diff options
context:
space:
mode:
authorChris Hall <chris.hall@highwayman.com>2011-08-12 15:06:06 +0100
committerChris Hall <chris.hall@highwayman.com>2011-08-12 15:06:06 +0100
commitcec1fae79110dffa900c0c5f38c3d3b48f5b0db6 (patch)
tree408055322e19098b98766168624f1b96865ac73b /bgpd/bgp_peer.h
parent228e06bad624a33090da4a09f32f8fed84a7e15c (diff)
parent7bd8653ef788a6395b07583d6766be8950598342 (diff)
downloadquagga-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.h53
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 */