Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/net80211 Style, remove pointless XXXs, and add a comment...



details:   https://anonhg.NetBSD.org/src/rev/f741642a8369
branches:  trunk
changeset: 829078:f741642a8369
user:      maxv <maxv%NetBSD.org@localhost>
date:      Tue Jan 16 09:42:11 2018 +0000

description:
Style, remove pointless XXXs, and add a comment about LLC.

diffstat:

 sys/net80211/ieee80211_input.c |  47 +++++++++++++++++++++++++++--------------
 1 files changed, 31 insertions(+), 16 deletions(-)

diffs (147 lines):

diff -r cdc9ee771085 -r f741642a8369 sys/net80211/ieee80211_input.c
--- a/sys/net80211/ieee80211_input.c    Tue Jan 16 09:04:30 2018 +0000
+++ b/sys/net80211/ieee80211_input.c    Tue Jan 16 09:42:11 2018 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: ieee80211_input.c,v 1.93 2018/01/16 08:39:29 maxv Exp $        */
+/*     $NetBSD: ieee80211_input.c,v 1.94 2018/01/16 09:42:11 maxv Exp $        */
 
 /*
  * Copyright (c) 2001 Atsushi Onoe
@@ -37,7 +37,7 @@
 __FBSDID("$FreeBSD: src/sys/net80211/ieee80211_input.c,v 1.81 2005/08/10 16:22:29 sam Exp $");
 #endif
 #ifdef __NetBSD__
-__KERNEL_RCSID(0, "$NetBSD: ieee80211_input.c,v 1.93 2018/01/16 08:39:29 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ieee80211_input.c,v 1.94 2018/01/16 09:42:11 maxv Exp $");
 #endif
 
 #ifdef _KERNEL_OPT
@@ -177,7 +177,7 @@
                    ni->ni_macaddr, NULL,
                    "data too short: expecting %u", hdrspace);
                ic->ic_stats.is_rx_tooshort++;
-               goto out;               /* XXX */
+               goto out;
        }
        wh = mtod(m, struct ieee80211_frame *);
 
@@ -300,10 +300,9 @@
                        goto out;
                }
        }
-       wh = NULL;              /* no longer valid, catch any uses */
 
        /*
-        * Next strip any MSDU crypto bits.
+        * Next, strip any MSDU crypto bits.
         */
        if (key != NULL && !ieee80211_crypto_demic(ic, key, m, 0)) {
                IEEE80211_DISCARD_MAC(ic, IEEE80211_MSG_INPUT,
@@ -763,7 +762,7 @@
        struct ieee80211_frame *lwh;
        u_int16_t rxseq;
        u_int8_t fragno;
-       u_int8_t more_frag = wh->i_fc[1] & IEEE80211_FC1_MORE_FRAG;
+       const u_int8_t more_frag = wh->i_fc[1] & IEEE80211_FC1_MORE_FRAG;
        struct mbuf *mfrag;
 
        IASSERT(!IEEE80211_IS_MULTICAST(wh->i_addr1), ("multicast fragm?"));
@@ -818,27 +817,33 @@
                }
        }
 
-       if (mfrag == NULL) {
+       if (mfrag == NULL) {
                if (fragno != 0) {              /* !first fragment, discard */
                        IEEE80211_NODE_STAT(ni, rx_defrag);
                        m_freem(m);
                        return NULL;
                }
                mfrag = m;
-       } else {                                /* concatenate */
-               m_adj(m, hdrspace);             /* strip header */
+       } else {
+               /* Strip header and concatenate */
+               m_adj(m, hdrspace);
                m_cat(mfrag, m);
+
                /* NB: m_cat doesn't update the packet header */
                mfrag->m_pkthdr.len += m->m_pkthdr.len;
+
                /* track last seqnum and fragno */
                lwh = mtod(mfrag, struct ieee80211_frame *);
-               *(u_int16_t *) lwh->i_seq = *(u_int16_t *) wh->i_seq;
+               *(u_int16_t *)lwh->i_seq = *(u_int16_t *)wh->i_seq;
        }
-       if (more_frag) {                        /* more to come, save */
+
+       if (more_frag) {
+               /* more to come, save */
                ni->ni_rxfragstamp = ticks;
                ni->ni_rxfrag[0] = mfrag;
                mfrag = NULL;
        }
+
        return mfrag;
 }
 
@@ -920,26 +925,33 @@
 static struct mbuf *
 ieee80211_decap(struct ieee80211com *ic, struct mbuf *m, int hdrlen)
 {
-       struct ieee80211_qosframe_addr4 wh;     /* Max size address frames */
+       struct ieee80211_qosframe_addr4 wh; /* Max size address frames */
        struct ether_header *eh;
        struct llc *llc;
 
        if (m->m_len < hdrlen + sizeof(*llc) &&
            (m = m_pullup(m, hdrlen + sizeof(*llc))) == NULL) {
-               /* XXX stat, msg */
                return NULL;
        }
+
        memcpy(&wh, mtod(m, void *), hdrlen);
+
        llc = (struct llc *)(mtod(m, char *) + hdrlen);
-       if (llc->llc_dsap == LLC_SNAP_LSAP && llc->llc_ssap == LLC_SNAP_LSAP &&
-           llc->llc_control == LLC_UI && llc->llc_snap.org_code[0] == 0 &&
-           llc->llc_snap.org_code[1] == 0 && llc->llc_snap.org_code[2] == 0) {
+       if (llc->llc_dsap == LLC_SNAP_LSAP &&
+           llc->llc_ssap == LLC_SNAP_LSAP &&
+           llc->llc_control == LLC_UI &&
+           llc->llc_snap.org_code[0] == 0 &&
+           llc->llc_snap.org_code[1] == 0 &&
+           llc->llc_snap.org_code[2] == 0) {
                m_adj(m, hdrlen + sizeof(struct llc) - sizeof(*eh));
                llc = NULL;
        } else {
+               /* Keep the LLC after the Ethernet header. */
                m_adj(m, hdrlen - sizeof(*eh));
        }
+
        eh = mtod(m, struct ether_header *);
+
        switch (wh.i_fc[1] & IEEE80211_FC1_DIR_MASK) {
        case IEEE80211_FC1_DIR_NODS:
                IEEE80211_ADDR_COPY(eh->ether_dhost, wh.i_addr1);
@@ -958,6 +970,7 @@
                IEEE80211_ADDR_COPY(eh->ether_shost, wh.i_addr4);
                break;
        }
+
 #ifdef ALIGNED_POINTER
        if (!ALIGNED_POINTER(mtod(m, char *) + sizeof(*eh), u_int32_t)) {
                struct mbuf *n, *n0, **np;
@@ -1009,10 +1022,12 @@
                m = n0;
        }
 #endif /* ALIGNED_POINTER */
+
        if (llc != NULL) {
                eh = mtod(m, struct ether_header *);
                eh->ether_type = htons(m->m_pkthdr.len - sizeof(*eh));
        }
+
        return m;
 }
 



Home | Main Index | Thread Index | Old Index