diff options
Diffstat (limited to 'bgpd/bgp_network.c')
-rw-r--r-- | bgpd/bgp_network.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/bgpd/bgp_network.c b/bgpd/bgp_network.c index 5dbd4872..87f7f7b6 100644 --- a/bgpd/bgp_network.c +++ b/bgpd/bgp_network.c @@ -92,12 +92,6 @@ bgp_md5_set (struct peer *peer) struct listnode *node; int fret = 0, ret; int *socket; - - if ( bgpd_privs.change (ZPRIVS_RAISE) ) - { - zlog_err ("%s: could not raise privs", __func__); - return -1; - } /* Just set the password on the listen socket(s). Outbound connections * are taken care of in bgp_connect() below. @@ -108,9 +102,6 @@ bgp_md5_set (struct peer *peer) if (ret < 0) fret = ret; } - if (bgpd_privs.change (ZPRIVS_LOWER) ) - zlog_err ("%s: could not lower privs", __func__); - return fret; } @@ -412,6 +403,15 @@ bgp_socket (struct bgp *bgp, unsigned short port, char *address) setsockopt_ipv4_tos (sock, IPTOS_PREC_INTERNETCONTROL); #endif +#ifdef IPV6_V6ONLY + /* Want only IPV6 on ipv6 socket (not mapped addresses) */ + if (ainfo->ai_family == AF_INET6) { + int on = 1; + setsockopt (sock, IPPROTO_IPV6, IPV6_V6ONLY, + (void *) &on, sizeof (on)); + } +#endif + if (bgpd_privs.change (ZPRIVS_RAISE) ) zlog_err ("bgp_socket: could not raise privs"); |