Fix: IPv6 prefix routing on slave cluster
This commit is contained in:
parent
9f212cfbee
commit
97bada26aa
1 changed files with 5 additions and 3 deletions
4
l2tpns.c
4
l2tpns.c
|
|
@ -982,7 +982,6 @@ static sessionidt lookup_ipv6map(struct in6_addr ip)
|
||||||
int s;
|
int s;
|
||||||
char ipv6addr[INET6_ADDRSTRLEN];
|
char ipv6addr[INET6_ADDRSTRLEN];
|
||||||
|
|
||||||
curnode = &ipv6_hash[ip.s6_addr[0]];
|
|
||||||
curnode = &ipv6_hash[((ip.s6_addr[0]) & 0xF0)>>4];
|
curnode = &ipv6_hash[((ip.s6_addr[0]) & 0xF0)>>4];
|
||||||
i = 1;
|
i = 1;
|
||||||
s = curnode->sess;
|
s = curnode->sess;
|
||||||
|
|
@ -5916,10 +5915,13 @@ int load_session(sessionidt s, sessiont *new)
|
||||||
}
|
}
|
||||||
|
|
||||||
// check v6 routing
|
// check v6 routing
|
||||||
|
if (new->ppp.ipv6cp == Opened && session[s].ppp.ipv6cp != Opened)
|
||||||
|
{
|
||||||
for (i = 0; i < MAXROUTE6 && new->route6[i].ipv6prefixlen; i++)
|
for (i = 0; i < MAXROUTE6 && new->route6[i].ipv6prefixlen; i++)
|
||||||
{
|
{
|
||||||
route6set(s, new->route6[i].ipv6route, new->route6[i].ipv6prefixlen, 1);
|
route6set(s, new->route6[i].ipv6route, new->route6[i].ipv6prefixlen, 1);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (new->ipv6address.s6_addr[0] && new->ppp.ipv6cp == Opened && session[s].ppp.ipv6cp != Opened)
|
if (new->ipv6address.s6_addr[0] && new->ppp.ipv6cp == Opened && session[s].ppp.ipv6cp != Opened)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue