diff options
Diffstat (limited to 'proto/bgp')
-rw-r--r-- | proto/bgp/bgp.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/proto/bgp/bgp.c b/proto/bgp/bgp.c index 83105a68..b9ed6c78 100644 --- a/proto/bgp/bgp.c +++ b/proto/bgp/bgp.c @@ -247,8 +247,17 @@ bgp_setup_auth(struct bgp_proto *p, int enable) { if (p->cf->password) { + ip_addr prefix = p->cf->remote_ip; + int pxlen = -1; + + if (p->cf->remote_range) + { + prefix = net_prefix(p->cf->remote_range); + pxlen = net_pxlen(p->cf->remote_range); + } + int rv = sk_set_md5_auth(p->sock->sk, - p->cf->local_ip, p->cf->remote_ip, p->cf->iface, + p->cf->local_ip, prefix, pxlen, p->cf->iface, enable ? p->cf->password : NULL, p->cf->setkey); if (rv < 0) |