summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_connection.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_connection.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_connection.h')
-rw-r--r--bgpd/bgp_connection.h75
1 files changed, 21 insertions, 54 deletions
diff --git a/bgpd/bgp_connection.h b/bgpd/bgp_connection.h
index 8c5e00d4..4df1fbca 100644
--- a/bgpd/bgp_connection.h
+++ b/bgpd/bgp_connection.h
@@ -166,7 +166,7 @@ struct bgp_connection
bgp_open_state open_recv ; /* the open received. */
qps_file qf ; /* qpselect file structure */
- pAF_t paf ; /* address family */
+ bool gtsm ; /* minttl has been set */
union sockunion* su_local ; /* address of the near end */
union sockunion* su_remote ; /* address of the far end */
@@ -206,56 +206,24 @@ struct bgp_connection
* The functions
*/
-extern bgp_connection
-bgp_connection_init_new(bgp_connection connection, bgp_session session,
- bgp_connection_ord_t ordinal) ;
-extern void
-bgp_connection_open(bgp_connection connection, int fd, int family) ;
-
-extern void
-bgp_connection_start(bgp_connection connection, union sockunion* su_local,
- union sockunion* su_remote) ;
-extern void
-bgp_connection_enable_accept(bgp_connection connection) ;
-
-extern void
-bgp_connection_disable_accept(bgp_connection connection) ;
-
-extern bgp_connection
-bgp_connection_query_accept(bgp_session session) ;
-
-extern bgp_connection
-bgp_connection_get_sibling(bgp_connection connection) ;
-
-extern void
-bgp_connection_make_primary(bgp_connection connection) ;
-
-extern void
-bgp_connection_full_close(bgp_connection connection, int unset_timers) ;
-
-#define bgp_connection_close(conn) bgp_connection_full_close(conn, false)
-#define bgp_connection_close_down(conn) bgp_connection_full_close(conn, true)
-
-extern bool
-bgp_connection_part_close(bgp_connection connection) ;
-
-extern void
-bgp_connection_exit(bgp_connection connection) ;
-
-extern void
-bgp_connection_read_enable(bgp_connection connection) ;
-
-extern int
-bgp_connection_write(bgp_connection connection, struct stream* s) ;
-
-extern void
-bgp_connection_queue_add(bgp_connection connection) ;
-
-extern void
-bgp_connection_queue_del(bgp_connection connection) ;
-
-extern int
-bgp_connection_queue_process(void) ;
+extern bgp_connection bgp_connection_init_new(bgp_connection connection,
+ bgp_session session, bgp_connection_ord_t ordinal) ;
+extern void bgp_connection_open(bgp_connection connection, int sock_fd) ;
+extern void bgp_connection_start(bgp_connection connection, sockunion su_local,
+ sockunion su_remote) ;
+extern void bgp_connection_enable_accept(bgp_connection connection) ;
+extern void bgp_connection_disable_accept(bgp_connection connection) ;
+extern bgp_connection bgp_connection_query_accept(bgp_session session) ;
+extern bgp_connection bgp_connection_get_sibling(bgp_connection connection) ;
+extern void bgp_connection_make_primary(bgp_connection connection) ;
+extern void bgp_connection_close(bgp_connection connection, bool keep_timers) ;
+extern bool bgp_connection_part_close(bgp_connection connection) ;
+extern void bgp_connection_exit(bgp_connection connection) ;
+extern void bgp_connection_read_enable(bgp_connection connection) ;
+extern int bgp_connection_write(bgp_connection connection, struct stream* s) ;
+extern void bgp_connection_queue_add(bgp_connection connection) ;
+extern void bgp_connection_queue_del(bgp_connection connection) ;
+extern int bgp_connection_queue_process(void) ;
Inline bool
bgp_connection_no_pending(bgp_connection connection, bgp_connection* is_pending)
@@ -264,9 +232,8 @@ bgp_connection_no_pending(bgp_connection connection, bgp_connection* is_pending)
|| (*is_pending != NULL) ) ;
} ;
-extern void
-bgp_connection_add_pending(bgp_connection connection, mqueue_block mqb,
- bgp_connection* is_pending) ;
+extern void bgp_connection_add_pending(bgp_connection connection,
+ mqueue_block mqb, bgp_connection* is_pending) ;
/*------------------------------------------------------------------------------
* Set buffer *unwritable* (buffer appears full, but nothing pending).