Page MenuHomeFreeBSD

D52302.id161282.diff
No OneTemporary

D52302.id161282.diff

diff --git a/sys/net80211/ieee80211_freebsd.h b/sys/net80211/ieee80211_freebsd.h
--- a/sys/net80211/ieee80211_freebsd.h
+++ b/sys/net80211/ieee80211_freebsd.h
@@ -341,11 +341,16 @@
#define M_AGE_SUB(m,adj) (m->m_pkthdr.csum_data -= adj)
/*
- * Store the sequence number.
+ * Store / retrieve the sequence number in an mbuf.
+ *
+ * The sequence number being stored/retreived is the 12 bit
+ * base sequence number, not the 16 bit sequence number field.
+ * Ie, it's from 0..4095 inclusive, with no 4 bit padding for
+ * fragment numbers.
*/
#define M_SEQNO_SET(m, seqno) \
- ((m)->m_pkthdr.tso_segsz = (seqno))
-#define M_SEQNO_GET(m) ((m)->m_pkthdr.tso_segsz)
+ ((m)->m_pkthdr.tso_segsz = ((seqno) % IEEE80211_SEQ_RANGE))
+#define M_SEQNO_GET(m) (((m)->m_pkthdr.tso_segsz) % IEEE80211_SEQ_RANGE)
#define MTAG_ABI_NET80211 1132948340 /* net80211 ABI */

File Metadata

Mime Type
text/plain
Expires
Mon, Jan 26, 9:58 AM (7 h, 41 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28020272
Default Alt Text
D52302.id161282.diff (866 B)

Event Timeline