summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Eshenko <dmitriy.eshenko@accel-ppp.org>2023-12-26 19:03:55 +0300
committerDmitriy Eshenko <dmitriy.eshenko@accel-ppp.org>2023-12-26 19:03:55 +0300
commiteef5769ec1d3a7c2cdec5f515b4686e7076260c3 (patch)
treefc988809d9cb5d92e8900ff82b2b43c3bef3a6d5
parentc08e87e11b1e0b013ddb8b0773621a2b666db461 (diff)
downloadaccel-ppp-eef5769ec1d3a7c2cdec5f515b4686e7076260c3.tar.gz
accel-ppp-eef5769ec1d3a7c2cdec5f515b4686e7076260c3.zip
ipoe: check localnet only for start=UP (unclassified packets) sessions
-rw-r--r--accel-pppd/ctrl/ipoe/arp.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/accel-pppd/ctrl/ipoe/arp.c b/accel-pppd/ctrl/ipoe/arp.c
index e94d61a..e9b55ff 100644
--- a/accel-pppd/ctrl/ipoe/arp.c
+++ b/accel-pppd/ctrl/ipoe/arp.c
@@ -92,7 +92,7 @@ static void arp_ctx_read(struct _arphdr *ah)
break;
}
- if (!ses1 && ipoe->opt_up) {
+ if (!ses1 && ipoe->opt_up && ipoe_check_localnet(ah->ar_spa)) {
ipoe_serv_recv_arp(ipoe, ah);
pthread_mutex_unlock(&ipoe->lock);
goto out;
@@ -191,9 +191,6 @@ static int arp_read(struct triton_md_handler_t *h)
if (ah->ar_spa == 0)
continue;
- if (!ipoe_check_localnet(ah->ar_spa))
- continue;
-
t = &arp_tree[src.sll_ifindex & HASH_BITS];
parent = NULL;