diff options
author | Tobias Klauser <tklauser@distanz.ch> | 2015-05-05 11:40:53 +0200 |
---|---|---|
committer | Tobias Klauser <tklauser@distanz.ch> | 2015-05-05 11:40:53 +0200 |
commit | d245603ab331de51d774f3d69ba3689155b0eb53 (patch) | |
tree | 0fff18e7aad48df2a9974501d70e511db859edc0 | |
parent | 0102de0e67185a09c39d5b1e1b3c51bc1607144b (diff) |
dissectors: ethernet: Display multicast/broadcast also in less mode
Commit a37101161784 ("dissectors: ethernet: Handle multicast/broadcast
addresses properly") introduced handling of multicast/broadcast
addresses in string translation, but only for the verbose mode. Also
print these strings instead of "Unknown" in less mode.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
-rw-r--r-- | proto_ethernet.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/proto_ethernet.c b/proto_ethernet.c index 5a257f0..a8e10cf 100644 --- a/proto_ethernet.c +++ b/proto_ethernet.c @@ -26,7 +26,7 @@ static inline bool is_broadcast_ether_addr(const uint8_t *mac) return (mac[0] & mac[1] & mac[2] & mac[3] & mac[4] & mac[5]) == 0xff; } -static const char *ether_lookup_addr(uint8_t *mac) +static const char *ether_lookup_addr(const uint8_t *mac) { if (is_multicast_ether_addr(mac)) { if (is_broadcast_ether_addr(mac)) @@ -82,12 +82,9 @@ static void ethernet_less(struct pkt_buff *pkt) src_mac = eth->h_source; dst_mac = eth->h_dest; - tprintf(" %s => %s ", - lookup_vendor_str((src_mac[0] << 16) | (src_mac[1] << 8) | - src_mac[2]), - lookup_vendor_str((dst_mac[0] << 16) | (dst_mac[1] << 8) | - dst_mac[2])); - tprintf("%s%s%s", colorize_start(bold), + tprintf(" %s => %s ", ether_lookup_addr(src_mac), + ether_lookup_addr(dst_mac)); + tprintf("%s%s%s", colorize_start(bold), lookup_ether_type(ntohs(eth->h_proto)), colorize_end()); pkt_set_dissector(pkt, ð_lay2, ntohs(eth->h_proto)); |