svn commit: r349185 - head/sys/net
Marko Zec
zec at FreeBSD.org
Wed Jun 19 08:39:20 UTC 2019
Author: zec
Date: Wed Jun 19 08:39:19 2019
New Revision: 349185
URL: https://svnweb.freebsd.org/changeset/base/349185
Log:
Evaluating htons() at compile time is more efficient than doing ntohs()
at runtime. This change removes a dependency on a barrel shifter pass
before branch resolution, while reducing the instruction stream size
by 9 bytes on amd64.
MFC after: 3 days
Modified:
head/sys/net/iflib.c
Modified: head/sys/net/iflib.c
==============================================================================
--- head/sys/net/iflib.c Wed Jun 19 06:41:07 2019 (r349184)
+++ head/sys/net/iflib.c Wed Jun 19 08:39:19 2019 (r349185)
@@ -2705,18 +2705,16 @@ static bool
iflib_check_lro_possible(struct mbuf *m, bool v4_forwarding, bool v6_forwarding)
{
struct ether_header *eh;
- uint16_t eh_type;
eh = mtod(m, struct ether_header *);
- eh_type = ntohs(eh->ether_type);
- switch (eh_type) {
+ switch (eh->ether_type) {
#if defined(INET6)
- case ETHERTYPE_IPV6:
- return !v6_forwarding;
+ case htons(ETHERTYPE_IPV6):
+ return (!v6_forwarding);
#endif
#if defined (INET)
- case ETHERTYPE_IP:
- return !v4_forwarding;
+ case htons(ETHERTYPE_IP):
+ return (!v4_forwarding);
#endif
}
More information about the svn-src-all
mailing list