diff options
author | Chris Hall <GMCH@hestia.halldom.com> | 2010-01-27 22:37:55 +0000 |
---|---|---|
committer | Chris Hall <GMCH@hestia.halldom.com> | 2010-01-27 22:37:55 +0000 |
commit | e29ed2adec0ef11ca1c84b40b2c98247f162f3df (patch) | |
tree | d0a65837f2a544c8e46f8ddda654e70686c531a1 /lib/prefix.h | |
parent | e6d986058f23f350aa6aedac4da5fe9f3afda6e8 (diff) | |
download | quagga-e29ed2adec0ef11ca1c84b40b2c98247f162f3df.tar.bz2 quagga-e29ed2adec0ef11ca1c84b40b2c98247f162f3df.tar.xz |
Binding to interfaces and counting of messages.
Wired up message counters in bgp_session structure.
Added fields to session for neighbor interface and
neighbor update-source -- so that these can be set when connect()
is done. Peering Engine resolves any interface name to an address,
so that BGP Engine doesn't have to.
Reinstated as much code as necessary in bgp_network to bind to
specific interfaces, as set in the session.
Moved setting of bgp_nexthop_set() back into Routeing Engine.
Result is that only Peering Engine talks to Zebra or uses the
iflist.
Wired up setting of TTL.
Reworked connections locking of the session mutex so more robust
if/when connections are cut loose from the session.
Made peer_index entry point at connection, not session. Works
better in bgp_network that way.
modified: bgpd/bgp_connection.c
modified: bgpd/bgp_connection.h
modified: bgpd/bgp_fsm.c
modified: bgpd/bgp_msg_read.c
modified: bgpd/bgp_msg_write.c
modified: bgpd/bgp_network.c
modified: bgpd/bgp_network.h
modified: bgpd/bgp_peer.c
modified: bgpd/bgp_peer.h
modified: bgpd/bgp_peer_index.c
modified: bgpd/bgp_peer_index.h
modified: bgpd/bgp_session.c
modified: bgpd/bgp_session.h
modified: lib/prefix.h
modified: lib/sockunion.c
modified: lib/sockunion.h
Diffstat (limited to 'lib/prefix.h')
-rw-r--r-- | lib/prefix.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/prefix.h b/lib/prefix.h index 1ccd4dd6..9fd02ea6 100644 --- a/lib/prefix.h +++ b/lib/prefix.h @@ -29,6 +29,8 @@ #define Inline static inline #endif +typedef const union sockunion* const_sockunion ; + /* * A struct prefix contains an address family, a prefix length, and an * address. This can represent either a 'network prefix' as defined @@ -163,9 +165,9 @@ extern int prefix_cmp (const struct prefix *, const struct prefix *); extern void prefix_copy (struct prefix *dest, const struct prefix *src); extern void apply_mask (struct prefix *); -extern struct prefix *sockunion2prefix (const union sockunion *dest, - const union sockunion *mask); -extern struct prefix *sockunion2hostprefix (const union sockunion *); +extern struct prefix *sockunion2prefix (const_sockunion dest, + const_sockunion mask); +extern struct prefix *sockunion2hostprefix (const_sockunion src); extern struct prefix_ipv4 *prefix_ipv4_new (void); extern void prefix_ipv4_free (struct prefix_ipv4 *); |