git: b1a57b105ce6 - stable/13 - net80211: simplify an #ifdef INET/INET6 block

From: Bjoern A. Zeeb <bz_at_FreeBSD.org>
Date: Wed, 21 Sep 2022 14:01:32 UTC
The branch stable/13 has been updated by bz:

URL: https://cgit.FreeBSD.org/src/commit/?id=b1a57b105ce6d65706a2535ce7ffa2b1ebef630e

commit b1a57b105ce6d65706a2535ce7ffa2b1ebef630e
Author:     Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2022-08-31 22:35:42 +0000
Commit:     Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2022-09-21 11:46:46 +0000

    net80211: simplify an #ifdef INET/INET6 block
    
    I got lost in the #ifdef #endif here so I changed the code to a
    switch block with two non-overlapping #ifdef parts and a default
    which makes it a lot easier to read.
    
    No functional changes.
    
    Sponsored by:   The FreeBSD Foundation
    Reviewed by:    (zlei.huang gmail.com)
    Differential Revision: https://reviews.freebsd.org/D36411
    
    (cherry picked from commit 8def06d5afdcd8020a039b1de994cfe6ad18229e)
---
 sys/net80211/ieee80211_output.c | 27 +++++++++++++++++----------
 1 file changed, 17 insertions(+), 10 deletions(-)

diff --git a/sys/net80211/ieee80211_output.c b/sys/net80211/ieee80211_output.c
index 4cc76e8d09da..35f386eda27f 100644
--- a/sys/net80211/ieee80211_output.c
+++ b/sys/net80211/ieee80211_output.c
@@ -1269,9 +1269,14 @@ ieee80211_classify(struct ieee80211_node *ni, struct mbuf *m)
 		v_wme_ac = TID_TO_WME_AC(EVL_PRIOFTAG(ni->ni_vlan));
 	}
 
+	if (eh == NULL)
+		goto no_eh;
+
 	/* XXX m_copydata may be too slow for fast path */
+	switch (ntohs(eh->ether_type)) {
 #ifdef INET
-	if (eh && eh->ether_type == htons(ETHERTYPE_IP)) {
+	case ETHERTYPE_IP:
+	{
 		uint8_t tos;
 		/*
 		 * IP frame, map the DSCP bits from the TOS field.
@@ -1281,10 +1286,12 @@ ieee80211_classify(struct ieee80211_node *ni, struct mbuf *m)
 		    offsetof(struct ip, ip_tos), sizeof(tos), &tos);
 		tos >>= 5;		/* NB: ECN + low 3 bits of DSCP */
 		d_wme_ac = TID_TO_WME_AC(tos);
-	} else {
-#endif /* INET */
+		break;
+	}
+#endif
 #ifdef INET6
-	if (eh && eh->ether_type == htons(ETHERTYPE_IPV6)) {
+	case ETHERTYPE_IPV6:
+	{
 		uint32_t flow;
 		uint8_t tos;
 		/*
@@ -1296,15 +1303,15 @@ ieee80211_classify(struct ieee80211_node *ni, struct mbuf *m)
 		tos = (uint8_t)(ntohl(flow) >> 20);
 		tos >>= 5;		/* NB: ECN + low 3 bits of DSCP */
 		d_wme_ac = TID_TO_WME_AC(tos);
-	} else {
-#endif /* INET6 */
-		d_wme_ac = WME_AC_BE;
-#ifdef INET6
+		break;
 	}
 #endif
-#ifdef INET
+	default:
+no_eh:
+		d_wme_ac = WME_AC_BE;
+		break;
 	}
-#endif
+
 	/*
 	 * Use highest priority AC.
 	 */