summaryrefslogtreecommitdiff
path: root/drivers/ipoe/ipoe.c
diff options
context:
space:
mode:
authorDmitry Kozlov <xeb@mail.ru>2018-03-19 22:17:55 +0300
committerDmitry Kozlov <xeb@mail.ru>2018-03-19 22:17:55 +0300
commit60f540289b52ffd46b5680ece7753ba0c97cfb22 (patch)
tree5c01e2c23a7746ad13195e589d6f65abca12b26e /drivers/ipoe/ipoe.c
parent99fc79fd173f911596c0324046dd7515cf1dd7e7 (diff)
downloadaccel-ppp-60f540289b52ffd46b5680ece7753ba0c97cfb22.tar.gz
accel-ppp-60f540289b52ffd46b5680ece7753ba0c97cfb22.zip
ipoe_mod: fixed ipv6 from non-shared mode
Diffstat (limited to 'drivers/ipoe/ipoe.c')
-rw-r--r--drivers/ipoe/ipoe.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/ipoe/ipoe.c b/drivers/ipoe/ipoe.c
index 17aad5be..1052a1a9 100644
--- a/drivers/ipoe/ipoe.c
+++ b/drivers/ipoe/ipoe.c
@@ -857,6 +857,12 @@ static rx_handler_result_t ipoe_recv(struct sk_buff **pskb)
} else {
ses = ipoe_lookup_rt6(skb, &ip6h->saddr, &out);
if (!ses) {
+ if (i->mode == 0)
+ return RX_HANDLER_PASS;
+
+ if (out == dev && i->mode == 2)
+ return RX_HANDLER_PASS;
+
kfree_skb(skb);
return RX_HANDLER_CONSUMED;
}