As defined by https://tools.ietf.org/html/rfc4191, prompted by
http://marc.info/?l=openbsd-misc&m=146239072929264&w=2

"pref" is inspired by upstream tcpdump format.

Thoughts / ok?

Index: print-icmp6.c
===================================================================
RCS file: /cvs/src/usr.sbin/tcpdump/print-icmp6.c,v
retrieving revision 1.18
diff -u -p -p -u -r1.18 print-icmp6.c
--- print-icmp6.c       15 Mar 2016 05:03:11 -0000      1.18
+++ print-icmp6.c       6 May 2016 11:55:20 -0000
@@ -305,8 +305,24 @@ icmp6_print(const u_char *bp, u_int leng
                                printf("M");
                        if (p->nd_ra_flags_reserved & ND_RA_FLAG_OTHER)
                                printf("O");
-                       if (p->nd_ra_flags_reserved != 0)
-                               printf(" ");
+                       if (p->nd_ra_flags_reserved &
+                           (ND_RA_FLAG_MANAGED|ND_RA_FLAG_OTHER))
+                               printf(", ");
+                       switch (p->nd_ra_flags_reserved
+                           & ND_RA_FLAG_RTPREF_MASK) {
+                       case ND_RA_FLAG_RTPREF_HIGH:
+                               printf("pref=high, ");
+                               break;
+                       case ND_RA_FLAG_RTPREF_MEDIUM:
+                               printf("pref=medium, ");
+                               break;
+                       case ND_RA_FLAG_RTPREF_LOW:
+                               printf("pref=low, ");
+                               break;
+                       case ND_RA_FLAG_RTPREF_RSV:
+                               printf("pref=rsv, ");
+                               break;
+                       }
                        printf("router_ltime=%d, ", 
ntohs(p->nd_ra_router_lifetime));
                        printf("reachable_time=%u, ",
                                (u_int32_t)ntohl(p->nd_ra_reachable));


-- 
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply via email to