The macro for printing flags just prints a bunch of f's in an order you can't tell a whole lot from. This code looks like it hasn't been touched in 20 years so maybe an old compiler used to do something different? This makes it print the flag names.
Before: 0xffff8000008b4cc0 ESTABLISHED:output [93471a53..93471a98)@f8f54269, urp=0<f,f> -> ESTABLISHED After: 0xffff8000008b4ee0 ESTABLISHED:output [91d4a412..91d4a457)@bdd41aae, urp=0<ACK,PUSH> -> ESTABLISHED Mitchell diff --git sys/netinet/tcp_debug.c sys/netinet/tcp_debug.c index 4ebf93214..21e888cf2 100644 --- sys/netinet/tcp_debug.c +++ sys/netinet/tcp_debug.c @@ -200,7 +200,7 @@ tcp_trace(short act, short ostate, struct tcpcb *tp, struct tcpcb *otp, flags = th->th_flags; if (flags) { char *cp = "<"; -#define pf(f) { if (th->th_flags&TH_##f) { printf("%s%s", cp, "f"); cp = ","; } } +#define pf(f) { if (th->th_flags&TH_##f) { printf("%s%s", cp, #f); cp = ","; } } pf(SYN); pf(ACK); pf(FIN); pf(RST); pf(PUSH); pf(URG); printf(">"); }