2008-02-23 14:21:44

by Johannes Berg

[permalink] [raw]
Subject: [PATCH 18/18] mac80211: enable mesh in Kconfig

Currently marked BROKEN because of endianness problems.

Signed-off-by: Johannes Berg <[email protected]>
---
See huge sparse output...

net/mac80211/Kconfig | 15 +++++++++++++++
net/mac80211/Makefile | 6 ++++++
2 files changed, 21 insertions(+)

--- everything.orig/net/mac80211/Kconfig 2008-02-23 14:57:44.000000000 +0100
+++ everything/net/mac80211/Kconfig 2008-02-23 15:00:57.000000000 +0100
@@ -81,6 +81,14 @@ config MAC80211_RC_SIMPLE
Say N unless you know what you are doing.
endmenu

+config MAC80211_MESH
+ bool "Enable mac80211 mesh networking (pre-802.11s) support"
+ depends on MAC80211 && EXPERIMENTAL && BROKEN
+ ---help---
+ This options enables support of pre-802.11s mesh interfaces.
+ For more information visit http://o11s.org
+
+
config MAC80211_LEDS
bool "Enable LED triggers"
depends on MAC80211 && LEDS_TRIGGERS
@@ -166,3 +174,10 @@ config MAC80211_VERBOSE_PS_DEBUG
---help---
Say Y here to print out verbose powersave
mode debug messages.
+
+config MAC80211_VERBOSE_MPL_DEBUG
+ bool "Verbose mesh peer link debugging"
+ depends on MAC80211_DEBUG && MAC80211_MESH
+ ---help---
+ Say Y here to print out verbose mesh peer link
+ debug messages.
--- everything.orig/net/mac80211/Makefile 2008-02-23 14:57:44.000000000 +0100
+++ everything/net/mac80211/Makefile 2008-02-23 15:00:57.000000000 +0100
@@ -36,6 +36,12 @@ mac80211-$(CONFIG_MAC80211_DEBUGFS) += \
debugfs_netdev.o \
debugfs_key.o

+mac80211-$(CONFIG_MAC80211_MESH) += \
+ mesh.o \
+ mesh_pathtbl.o \
+ mesh_plink.o \
+ mesh_hwmp.o
+

# Build rate control algorithm(s)
CFLAGS_rc80211_simple.o += -DRC80211_SIMPLE_COMPILE

--



2008-02-25 23:25:57

by Luis Carlos Cobo

[permalink] [raw]
Subject: Re: [PATCH 18/18] mac80211: enable mesh in Kconfig

On Mon, 2008-02-25 at 22:24 +0100, Johannes Berg wrote:
> #define PREQ_IE_ORIG_DSN(x) le32_to_cpu(*((u32 *) (x + 13)))
>
> Would it be possible to define the preq IE as a struct? Not sure if it
> is. Either way, this should be converted to a static inline instead of a
> macro.

The problem is that preq and prep IEs do not have a fixed size.
Depending on the address extension bit, they can have or not a 6 byte
proxied address in the middle, so I would need 4 structures.

>
> Also, you need to add a lot of get_unaligned() to the code. Please read
> Daniel's excellent Documentation/unaligned-memory-access.txt

Will do.

--
Luis Carlos Cobo Rus GnuPG ID: 44019B60
cozybit Inc.



2008-02-25 21:24:16

by Johannes Berg

[permalink] [raw]
Subject: Re: [PATCH 18/18] mac80211: enable mesh in Kconfig


On Mon, 2008-02-25 at 12:58 -0800, Luis Carlos Cobo wrote:
> On Sat, 2008-02-23 at 15:17 +0100, Johannes Berg wrote:
> > Currently marked BROKEN because of endianness problems.
>
> Will take care of those problems.

Oh this reminds me.

You have a lot of macros like

#define PREQ_IE_ORIG_DSN(x) le32_to_cpu(*((u32 *) (x + 13)))

Would it be possible to define the preq IE as a struct? Not sure if it
is. Either way, this should be converted to a static inline instead of a
macro.

Also, you need to add a lot of get_unaligned() to the code. Please read
Daniel's excellent Documentation/unaligned-memory-access.txt

johannes


Attachments:
signature.asc (828.00 B)
This is a digitally signed message part

2008-02-25 20:56:29

by Luis Carlos Cobo

[permalink] [raw]
Subject: Re: [PATCH 18/18] mac80211: enable mesh in Kconfig

On Sat, 2008-02-23 at 15:17 +0100, Johannes Berg wrote:
> Currently marked BROKEN because of endianness problems.

Will take care of those problems.

--
Luis Carlos Cobo Rus GnuPG ID: 44019B60
cozybit Inc.