svn commit: r193706 - projects/mesh11s/sys/net80211
Rui Paulo
rpaulo at FreeBSD.org
Mon Jun 8 11:18:07 UTC 2009
Author: rpaulo
Date: Mon Jun 8 11:18:05 2009
New Revision: 193706
URL: http://svn.freebsd.org/changeset/base/193706
Log:
Introduce different mesh control structures based on the value of the AE
bit.
Rename the struct fields to avoid redudancy.
Idea by: sam
Sponsored by: The FreeBSD Foundation
Modified:
projects/mesh11s/sys/net80211/ieee80211_mesh.h
Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.h
==============================================================================
--- projects/mesh11s/sys/net80211/ieee80211_mesh.h Mon Jun 8 11:10:55 2009 (r193705)
+++ projects/mesh11s/sys/net80211/ieee80211_mesh.h Mon Jun 8 11:18:05 2009 (r193706)
@@ -338,12 +338,42 @@ enum {
/* 2-255 reserved */
};
+/*
+ * Different mesh control structures based on the AE
+ * (Address Extension) bits.
+ *
+ * NB: not __packed because mc_seq isn't uint32_t.
+ */
struct ieee80211_meshcntl {
- uint8_t mc_flags;
- uint8_t mc_ttl;
- uint32_t mc_seq;
- /* more mesh addresses follow */
-} __packed;
+ uint8_t mc_flags; /* Address Extension 00 */
+ uint8_t mc_ttl; /* TTL */
+ uint8_t mc_seq[4]; /* Sequence No. */
+ /* NB: more addresses may follow */
+};
+
+struct ieee80211_meshcntl_ae01 {
+ uint8_t mc_flags; /* Address Extension 01 */
+ uint8_t mc_ttl; /* TTL */
+ uint8_t mc_seq[4]; /* Sequence No. */
+ uint8_t mc_addr4[IEEE80211_ADDR_LEN];
+};
+
+struct ieee80211_meshcntl_ae10 {
+ uint8_t mc_flags; /* Address Extension 10 */
+ uint8_t mc_ttl; /* TTL */
+ uint8_t mc_seq[4]; /* Sequence No. */
+ uint8_t mc_addr5[IEEE80211_ADDR_LEN];
+ uint8_t mc_addr6[IEEE80211_ADDR_LEN];
+};
+
+struct ieee80211_meshcntl_ae11 {
+ uint8_t mc_flags; /* Address Extension 11 */
+ uint8_t mc_ttl; /* TTL */
+ uint8_t mc_seq[4]; /* Sequence No. */
+ uint8_t mc_addr4[IEEE80211_ADDR_LEN];
+ uint8_t mc_addr5[IEEE80211_ADDR_LEN];
+ uint8_t mc_addr6[IEEE80211_ADDR_LEN];
+};
#ifdef _KERNEL
void ieee80211_mesh_attach(struct ieee80211com *);
More information about the svn-src-projects
mailing list