[1/2] batctl: tcpdump - filter OGM and OGMv2 packets independently
Commit Message
for debugging purposes it might be required to dump either OGMs
or OGM2s only. For this reason it is better to make the tcpdump
engine more flexible and accept distinct filters for the two
packet types.
Signed-off-by: Antonio Quartulli <antonio@open-mesh.com>
---
tcpdump.c | 15 ++++++++-------
tcpdump.h | 15 ++++++++-------
2 files changed, 16 insertions(+), 14 deletions(-)
Comments
On Thursday, April 14, 2016 17:29:57 Antonio Quartulli wrote:
> for debugging purposes it might be required to dump either OGMs
> or OGM2s only. For this reason it is better to make the tcpdump
> engine more flexible and accept distinct filters for the two
> packet types.
>
> Signed-off-by: Antonio Quartulli <antonio@open-mesh.com>
> ---
> tcpdump.c | 15 ++++++++-------
> tcpdump.h | 15 ++++++++-------
> 2 files changed, 16 insertions(+), 14 deletions(-)
Applied in revision f29682c.
Thanks,
Marek
@@ -64,10 +64,11 @@ if ((size_t)(buff_len) < (check_len)) { \
return; \
}
-static unsigned short dump_level_all = DUMP_TYPE_BATOGM | DUMP_TYPE_BATELP |
- DUMP_TYPE_BATICMP | DUMP_TYPE_BATUCAST |
- DUMP_TYPE_BATBCAST | DUMP_TYPE_BATUTVLV |
- DUMP_TYPE_BATFRAG | DUMP_TYPE_NONBAT;
+static unsigned short dump_level_all = DUMP_TYPE_BATOGM | DUMP_TYPE_BATOGM2 |
+ DUMP_TYPE_BATELP | DUMP_TYPE_BATICMP |
+ DUMP_TYPE_BATUCAST | DUMP_TYPE_BATBCAST |
+ DUMP_TYPE_BATUTVLV | DUMP_TYPE_BATFRAG |
+ DUMP_TYPE_NONBAT;
static unsigned short dump_level;
static void parse_eth_hdr(unsigned char *packet_buff, ssize_t buff_len, int read_opt, int time_printed);
@@ -82,8 +83,8 @@ static void tcpdump_usage(void)
fprintf(stderr, " \t -p dump specific packet type\n");
fprintf(stderr, " \t -x dump all packet types except specified\n");
fprintf(stderr, "packet types:\n");
- fprintf(stderr, " \t\t%3d - batman ogm/ogmv2 packets\n",
- DUMP_TYPE_BATOGM);
+ fprintf(stderr, " \t\t%3d - batman ogm packets\n", DUMP_TYPE_BATOGM);
+ fprintf(stderr, " \t\t%3d - batman ogmv2 packets\n", DUMP_TYPE_BATOGM2);
fprintf(stderr, " \t\t%3d - batman elp packets\n", DUMP_TYPE_BATELP);
fprintf(stderr, " \t\t%3d - batman icmp packets\n", DUMP_TYPE_BATICMP);
fprintf(stderr, " \t\t%3d - batman unicast packets\n", DUMP_TYPE_BATUCAST);
@@ -963,7 +964,7 @@ static void parse_eth_hdr(unsigned char *packet_buff, ssize_t buff_len, int read
dump_batman_iv_ogm(packet_buff, buff_len, read_opt, time_printed);
break;
case BATADV_OGM2:
- if (dump_level & DUMP_TYPE_BATOGM)
+ if (dump_level & DUMP_TYPE_BATOGM2)
dump_batman_ogm2(packet_buff, buff_len,
read_opt, time_printed);
break;
@@ -38,13 +38,14 @@
#endif
#define DUMP_TYPE_BATOGM 1
-#define DUMP_TYPE_BATELP 2
-#define DUMP_TYPE_BATICMP 4
-#define DUMP_TYPE_BATUCAST 8
-#define DUMP_TYPE_BATBCAST 16
-#define DUMP_TYPE_BATUTVLV 32
-#define DUMP_TYPE_BATFRAG 64
-#define DUMP_TYPE_NONBAT 128
+#define DUMP_TYPE_BATOGM2 2
+#define DUMP_TYPE_BATELP 4
+#define DUMP_TYPE_BATICMP 8
+#define DUMP_TYPE_BATUCAST 16
+#define DUMP_TYPE_BATBCAST 32
+#define DUMP_TYPE_BATUTVLV 64
+#define DUMP_TYPE_BATFRAG 128
+#define DUMP_TYPE_NONBAT 256
#define IEEE80211_FCTL_FTYPE 0x0c00
#define IEEE80211_FCTL_TODS 0x0001