batctl: tcpdump - Add support for bla loopdetect
Commit Message
From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
Complex bridge loop detection was added to batman-adv. It uses so called
BLA LOOPDETECT ARP packets to find out if there is a loop. The bla2 claim
function of tcpdump extracts the same information which also
batadv_bla_send_claim uses for its debug output.
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
---
packet.h | 1 +
tcpdump.c | 6 ++++++
2 files changed, 7 insertions(+)
Comments
On Tuesday, April 12, 2016 10:51:27 Sven Eckelmann wrote:
> From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
>
> Complex bridge loop detection was added to batman-adv. It uses so called
> BLA LOOPDETECT ARP packets to find out if there is a loop. The bla2 claim
> function of tcpdump extracts the same information which also
> batadv_bla_send_claim uses for its debug output.
>
> Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
> ---
> packet.h | 1 +
> tcpdump.c | 6 ++++++
> 2 files changed, 7 insertions(+)
Applied in revision 511de65.
Thanks,
Marek
@@ -175,6 +175,7 @@ enum batadv_bla_claimframe {
BATADV_CLAIM_TYPE_UNCLAIM = 0x01,
BATADV_CLAIM_TYPE_ANNOUNCE = 0x02,
BATADV_CLAIM_TYPE_REQUEST = 0x03,
+ BATADV_CLAIM_TYPE_LOOPDETECT = 0x04,
};
/**
@@ -366,6 +366,12 @@ static int dump_bla2_claim(struct ether_header *eth_hdr,
printf("dst backbone %s\n",
get_name_by_macaddr((struct ether_addr *)eth_hdr->ether_dhost, read_opt));
break;
+ case BATADV_CLAIM_TYPE_LOOPDETECT:
+ printf("BLA LOOPDETECT, src backbone %s, ",
+ get_name_by_macaddr((struct ether_addr *)eth_hdr->ether_shost, read_opt));
+ printf("dst backbone %s\n",
+ get_name_by_macaddr((struct ether_addr *)eth_hdr->ether_dhost, read_opt));
+ break;
default:
printf("BLA UNKNOWN, type %hhu\n", bla_dst->type);
break;