Skip to content

Commit

Permalink
[Bluetooth] Add parameters to control BNEP header compression
Browse files Browse the repository at this point in the history
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: Marcel Holtmann <marcel@holtmann.org>
  • Loading branch information
Marcel Holtmann committed Aug 7, 2008
1 parent 0967d61 commit 28111eb
Showing 1 changed file with 12 additions and 3 deletions.
15 changes: 12 additions & 3 deletions net/bluetooth/bnep/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,10 @@
#define BT_DBG(D...)
#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 DECLARE_RWSEM(bnep_session_sem);
Expand Down Expand Up @@ -418,10 +421,10 @@ static inline int bnep_tx_frame(struct bnep_session *s, struct sk_buff *skb)
iv[il++] = (struct kvec) { &type, 1 };
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;

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;

if (type)
Expand Down Expand Up @@ -727,6 +730,12 @@ static void __exit bnep_exit(void)
module_init(bnep_init);
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_DESCRIPTION("Bluetooth BNEP ver " VERSION);
MODULE_VERSION(VERSION);
Expand Down

0 comments on commit 28111eb

Please sign in to comment.