Commit 28111eb2 authored by Marcel Holtmann's avatar Marcel Holtmann

[Bluetooth] Add parameters to control BNEP header compression

The Bluetooth qualification for PAN demands testing with BNEP header
compression disabled. This is actually pretty stupid and the Linux
implementation outsmarts the test system since it compresses whenever
possible. So to pass qualification two need parameters have been added
to control the compression of source and destination headers.
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent 0967d61e
...@@ -57,7 +57,10 @@ ...@@ -57,7 +57,10 @@
#define BT_DBG(D...) #define BT_DBG(D...)
#endif #endif
#define VERSION "1.2" #define VERSION "1.3"
static int compress_src = 1;
static int compress_dst = 1;
static LIST_HEAD(bnep_session_list); static LIST_HEAD(bnep_session_list);
static DECLARE_RWSEM(bnep_session_sem); static DECLARE_RWSEM(bnep_session_sem);
...@@ -418,10 +421,10 @@ static inline int bnep_tx_frame(struct bnep_session *s, struct sk_buff *skb) ...@@ -418,10 +421,10 @@ static inline int bnep_tx_frame(struct bnep_session *s, struct sk_buff *skb)
iv[il++] = (struct kvec) { &type, 1 }; iv[il++] = (struct kvec) { &type, 1 };
len++; len++;
if (!compare_ether_addr(eh->h_dest, s->eh.h_source)) if (compress_src && !compare_ether_addr(eh->h_dest, s->eh.h_source))
type |= 0x01; type |= 0x01;
if (!compare_ether_addr(eh->h_source, s->eh.h_dest)) if (compress_dst && !compare_ether_addr(eh->h_source, s->eh.h_dest))
type |= 0x02; type |= 0x02;
if (type) if (type)
...@@ -727,6 +730,12 @@ static void __exit bnep_exit(void) ...@@ -727,6 +730,12 @@ static void __exit bnep_exit(void)
module_init(bnep_init); module_init(bnep_init);
module_exit(bnep_exit); module_exit(bnep_exit);
module_param(compress_src, bool, 0644);
MODULE_PARM_DESC(compress_src, "Compress sources headers");
module_param(compress_dst, bool, 0644);
MODULE_PARM_DESC(compress_dst, "Compress destination headers");
MODULE_AUTHOR("David Libault <david.libault@inventel.fr>, Maxim Krasnyansky <maxk@qualcomm.com>"); MODULE_AUTHOR("David Libault <david.libault@inventel.fr>, Maxim Krasnyansky <maxk@qualcomm.com>");
MODULE_DESCRIPTION("Bluetooth BNEP ver " VERSION); MODULE_DESCRIPTION("Bluetooth BNEP ver " VERSION);
MODULE_VERSION(VERSION); MODULE_VERSION(VERSION);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment