Commit 411725280bd0058ebb83c0e32133b7a94902c3a6

Authored by Samuel Ortiz
Committed by David S. Miller
1 parent 89da1ecf54

[IrDA]: Monitor mode.

Through the IrDA netlink set mode command, we switch to IrDA monitor
mode, where one IrLAP instance receives all the packets on the media,
without ever responding to them.

Signed-off-by: Samuel Ortiz <samuel@sortiz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

Showing 2 changed files with 8 additions and 0 deletions Side-by-side Diff

include/linux/irda.h
... ... @@ -242,6 +242,7 @@
242 242 /* IrDA modes */
243 243 #define IRDA_MODE_PRIMARY 0x1
244 244 #define IRDA_MODE_SECONDARY 0x2
  245 +#define IRDA_MODE_MONITOR 0x4
245 246  
246 247 #endif /* KERNEL_IRDA_H */
net/irda/irlap_frame.c
... ... @@ -101,6 +101,13 @@
101 101  
102 102 irlap_insert_info(self, skb);
103 103  
  104 + if (unlikely(self->mode & IRDA_MODE_MONITOR)) {
  105 + IRDA_DEBUG(3, "%s(): %s is in monitor mode\n", __FUNCTION__,
  106 + self->netdev->name);
  107 + dev_kfree_skb(skb);
  108 + return;
  109 + }
  110 +
104 111 dev_queue_xmit(skb);
105 112 }
106 113