summaryrefslogtreecommitdiff
path: root/monitor/bnep.c
diff options
context:
space:
mode:
authorGowtham Anandha Babu <gowtham.ab@samsung.com>2015-04-21 14:44:28 +0530
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2015-04-23 17:10:28 +0200
commitb196e76fbc070c406d03d7289490386b9ce9925e (patch)
tree1d15f4b1ce9884979bc714607b10fb18d802d29f /monitor/bnep.c
parentf83bca62821c556290dd0cea74659f3bac0aefd0 (diff)
downloadbluez-b196e76fbc070c406d03d7289490386b9ce9925e.tar.gz
monitor: Add support for decoding bnep SrcOnly pkt
BNEP: Compressed Ethernet SrcOnly (0x03|0) src 00:00:00:00:00:00 [proto 0x0300] 3c 3b 3a 39 38 37 36 35 34 33 32 31 30 2f 2e 2d 2c 2b 2a 29 28 27 26 25 24 23 22 21 20 1f 1e 1d
Diffstat (limited to 'monitor/bnep.c')
-rw-r--r--monitor/bnep.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/monitor/bnep.c b/monitor/bnep.c
index 1735a7ae7..590436751 100644
--- a/monitor/bnep.c
+++ b/monitor/bnep.c
@@ -156,6 +156,27 @@ static bool bnep_compressed(struct bnep_frame *bnep_frame,
return true;
}
+static bool bnep_src_only(struct bnep_frame *bnep_frame,
+ uint8_t indent, int hdr_len)
+{
+
+ struct l2cap_frame *frame;
+ char src_addr[20];
+
+ if (!get_macaddr(bnep_frame, src_addr))
+ return false;
+
+ frame = &bnep_frame->l2cap_frame;
+
+ if (!l2cap_frame_get_be16(frame, &proto))
+ return false;
+
+ print_field("%*csrc %s [proto 0x%04x] ", indent,
+ ' ', src_addr, proto);
+
+ return true;
+}
+
struct bnep_data {
uint8_t type;
const char *str;
@@ -166,7 +187,7 @@ static const struct bnep_data bnep_table[] = {
{ 0x00, "General Ethernet", bnep_general },
{ 0x01, "Control", bnep_control },
{ 0x02, "Compressed Ethernet", bnep_compressed },
- { 0x03, "Compressed Ethernet SrcOnly", },
+ { 0x03, "Compressed Ethernet SrcOnly", bnep_src_only },
{ 0x04, "Compressed Ethernet DestOnly", },
{ }
};