Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3797d3e8 authored by Eric Dumazet's avatar Eric Dumazet Committed by David S. Miller
Browse files

net: flow_dissector: small optimizations in IPv4 dissect



By moving code around, we avoid :

1) A reload of iph->ihl (bit field, so needs a mask)

2) A conditional test (replaced by a conditional mov on x86)
   Fast path loads iph->protocol anyway.

Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent cdc4ead0
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -68,13 +68,13 @@ ip:
		iph = skb_header_pointer(skb, nhoff, sizeof(_iph), &_iph);
		if (!iph || iph->ihl < 5)
			return false;
		nhoff += iph->ihl * 4;

		ip_proto = iph->protocol;
		if (ip_is_fragment(iph))
			ip_proto = 0;
		else
			ip_proto = iph->protocol;

		iph_to_flow_copy_addrs(flow, iph);
		nhoff += iph->ihl * 4;
		break;
	}
	case __constant_htons(ETH_P_IPV6): {