ipv4: ip_forward: perform skb->pkt_type check at the beginning
Packets which have L2 address different from ours should be already filtered before entering into ip_forward(). Perform that check at the beginning to avoid processing such packets. Signed-off-by: Denis Kirjanov <kda@linux-powerpc.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
2045ceaed4
commit
d4f2fa6ad6
|
@ -59,6 +59,10 @@ int ip_forward(struct sk_buff *skb)
|
||||||
struct rtable *rt; /* Route we use */
|
struct rtable *rt; /* Route we use */
|
||||||
struct ip_options *opt = &(IPCB(skb)->opt);
|
struct ip_options *opt = &(IPCB(skb)->opt);
|
||||||
|
|
||||||
|
/* that should never happen */
|
||||||
|
if (skb->pkt_type != PACKET_HOST)
|
||||||
|
goto drop;
|
||||||
|
|
||||||
if (skb_warn_if_lro(skb))
|
if (skb_warn_if_lro(skb))
|
||||||
goto drop;
|
goto drop;
|
||||||
|
|
||||||
|
@ -68,9 +72,6 @@ int ip_forward(struct sk_buff *skb)
|
||||||
if (IPCB(skb)->opt.router_alert && ip_call_ra_chain(skb))
|
if (IPCB(skb)->opt.router_alert && ip_call_ra_chain(skb))
|
||||||
return NET_RX_SUCCESS;
|
return NET_RX_SUCCESS;
|
||||||
|
|
||||||
if (skb->pkt_type != PACKET_HOST)
|
|
||||||
goto drop;
|
|
||||||
|
|
||||||
skb_forward_csum(skb);
|
skb_forward_csum(skb);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue