From 64e5c04c0d9aa4b46235c5f0da45d22abf9cce1c Mon Sep 17 00:00:00 2001 From: Dmitry Kozlov Date: Sat, 19 Mar 2016 20:17:02 +0300 Subject: ipoe: send arp reply for sessions started by arp request --- drivers/ipoe/ipoe.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'drivers/ipoe') diff --git a/drivers/ipoe/ipoe.c b/drivers/ipoe/ipoe.c index 5bafde6a..059b1397 100644 --- a/drivers/ipoe/ipoe.c +++ b/drivers/ipoe/ipoe.c @@ -736,9 +736,16 @@ static rx_handler_result_t ipoe_recv(struct sk_buff **pskb) return RX_HANDLER_PASS; arph = (struct _arphdr *)skb_network_header(skb); + if (arph->ar_op != htons(ARPOP_REQUEST)) return RX_HANDLER_PASS; + if (arph->ar_hrd != htons(ARPHRD_ETHER)) + return RX_HANDLER_PASS; + + if (arph->ar_pro != htons(ETH_P_IP)) + return RX_HANDLER_PASS; + saddr = arph->ar_sip; } else return RX_HANDLER_PASS; -- cgit v1.2.3