forked from osmocom/wireshark
Improve the ND flag display.
svn path=/trunk/; revision=34388
This commit is contained in:
parent
710f41b085
commit
fff19c8383
1 changed files with 16 additions and 5 deletions
|
@ -2058,6 +2058,7 @@ dissect_icmpv6(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
||||||
int flagoff, targetoff;
|
int flagoff, targetoff;
|
||||||
guint32 na_flags;
|
guint32 na_flags;
|
||||||
struct e_in6_addr na_target;
|
struct e_in6_addr na_target;
|
||||||
|
emem_strbuf_t *flags_strbuf = ep_strbuf_new_label("");
|
||||||
|
|
||||||
flagoff = offset + ND_NA_FLAGS_RESERVED_OFFSET;
|
flagoff = offset + ND_NA_FLAGS_RESERVED_OFFSET;
|
||||||
na_flags = tvb_get_ntohl(tvb, flagoff);
|
na_flags = tvb_get_ntohl(tvb, flagoff);
|
||||||
|
@ -2080,12 +2081,22 @@ dissect_icmpv6(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
||||||
"Target: %s (%s)",
|
"Target: %s (%s)",
|
||||||
get_hostname6(&na_target),
|
get_hostname6(&na_target),
|
||||||
ip6_to_str(&na_target));
|
ip6_to_str(&na_target));
|
||||||
|
if (na_flags & ND_NA_FLAG_ROUTER) {
|
||||||
|
ep_strbuf_append(flags_strbuf, "rtr, ");
|
||||||
|
}
|
||||||
|
if (na_flags & ND_NA_FLAG_SOLICITED) {
|
||||||
|
ep_strbuf_append(flags_strbuf, "sol, ");
|
||||||
|
}
|
||||||
|
if (na_flags & ND_NA_FLAG_OVERRIDE) {
|
||||||
|
ep_strbuf_append(flags_strbuf, "ovr, ");
|
||||||
|
}
|
||||||
|
if (flags_strbuf->len > 2) {
|
||||||
|
ep_strbuf_truncate(flags_strbuf, flags_strbuf->len - 2);
|
||||||
|
} else {
|
||||||
|
ep_strbuf_printf(flags_strbuf, "none");
|
||||||
|
}
|
||||||
col_append_fstr(pinfo->cinfo, COL_INFO,
|
col_append_fstr(pinfo->cinfo, COL_INFO,
|
||||||
" %s (%srtr, %ssol)",
|
" %s (%s)", ip6_to_str(&na_target), flags_strbuf->str);
|
||||||
ip6_to_str(&na_target),
|
|
||||||
na_flags & ND_NA_FLAG_ROUTER ? "" : "not ",
|
|
||||||
na_flags & ND_NA_FLAG_SOLICITED ? "" : "not "
|
|
||||||
);
|
|
||||||
|
|
||||||
dissect_icmpv6ndopt(tvb, offset + sizeof(struct nd_neighbor_advert), pinfo, icmp6_tree);
|
dissect_icmpv6ndopt(tvb, offset + sizeof(struct nd_neighbor_advert), pinfo, icmp6_tree);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in a new issue