From e003275f092bdbe8b64b3da301886d5e02218d6e Mon Sep 17 00:00:00 2001 From: Kozlov Dmitry <xeb@mail.ru> Date: Fri, 19 Apr 2013 12:00:34 +0400 Subject: ipoe: fix local-net handling --- accel-pppd/ctrl/ipoe/ipoe.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'accel-pppd/ctrl/ipoe') diff --git a/accel-pppd/ctrl/ipoe/ipoe.c b/accel-pppd/ctrl/ipoe/ipoe.c index 214f93a9..aae1cd10 100644 --- a/accel-pppd/ctrl/ipoe/ipoe.c +++ b/accel-pppd/ctrl/ipoe/ipoe.c @@ -1627,7 +1627,12 @@ static void parse_local_net(const char *opt) if (mask == 32) mask = 0xffffffff; else - mask = (1 << mask) - 1; + mask = (1 << (32-mask)) - 1; + + addr = ntohl(addr); + mask = ~mask; + + //printf("%x/%x %x\n", htonl(addr), ~mask, htonl(addr)&(~mask)); ipoe_nl_add_net(addr & mask, mask); -- cgit v1.2.3