Let's make it so.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
{
struct peer *peer = connection->peer;
- bgp_updatesockname(peer, connection);
- if (!peer->su_remote && !BGP_CONNECTION_SU_UNSPEC(peer->connection)) {
+ bgp_updatesockname(connection);
+ if (!peer->su_remote && !BGP_CONNECTION_SU_UNSPEC(connection)) {
/* if connect initiated, then dest port and dest addresses are well known */
peer->su_remote = sockunion_dup(&connection->su);
if (sockunion_family(peer->su_remote) == AF_INET)
htons(peer->port), ifindex);
}
-void bgp_updatesockname(struct peer *peer, struct peer_connection *connection)
+void bgp_updatesockname(struct peer_connection *connection)
{
+ struct peer *peer = connection->peer;
+
if (peer->su_local) {
sockunion_free(peer->su_local);
peer->su_local = NULL;
{
struct peer *peer = connection->peer;
- bgp_updatesockname(peer, peer->connection);
+ bgp_updatesockname(connection);
if (!bgp_zebra_nexthop_set(peer->su_local, peer->su_remote,
&peer->nexthop, peer)) {
extern void bgp_close(void);
extern enum connect_result bgp_connect(struct peer_connection *connection);
extern int bgp_getsockname(struct peer_connection *connection);
-extern void bgp_updatesockname(struct peer *peer, struct peer_connection *connection);
+extern void bgp_updatesockname(struct peer_connection *connection);
extern int bgp_md5_set_prefix(struct bgp *bgp, struct prefix *p,
const char *password);