On Sat, Aug 29, 2020 at 05:13:00PM +0200, Klemens Nanni wrote:
> NOTES stays unused unless pf.conf(5) contains `set loginterface ...' in
> which case it merely amends what can otherwise be part of the NAME
> column.
>
> Merge the constant NOTES values for conditional counters into their NAME
> values to make the `pf' view look a little nicer and less empty by
> default; this also saves screen estate for possible future changes,
> e.g. we could increase column widths.
>
> Here's the difference on my workstation:
>
> $ systat -b pf
>
> 0 users Load 0.44 0.42 0.44 (1-21 of 56) eru
> 16:59:13
> TYPE NAME VALUE RATE NOTES
> pf Status Enabled
> pf Since 475:09:16
> pf Debug err
> pf Hostid 0xc4490f26
>
> trunk0 Bytes In 9309436078 IPv4
> trunk0 Bytes In 82089344K IPv6
> trunk0 Bytes Out 816675408 IPv4
> trunk0 Bytes Out 5264003084 IPv6
> trunk0 Packets In 8394222 IPv4, Passed
> trunk0 Packets In 58044731 IPv6, Passed
> trunk0 Packets In 16593 IPv4, Blocked
> trunk0 Packets In 32233 IPv6, Blocked
> trunk0 Packets Out 6001617 IPv4, Passed
> trunk0 Packets Out 34333653 IPv6, Passed
> trunk0 Packets Out 3625 IPv4, Blocked
> trunk0 Packets Out 6277 IPv6, Blocked
>
> state Count 172
> state searches 191574598 112.00
> state inserts 474584 0.28
>
> $ ./obj/systat -b pf
>
> 0 users Load 0.17 0.31 0.37 (1-21 of 56) eru
> 17:09:08
> TYPE NAME VALUE RATE
> pf Status Enabled
> pf Since 475:19:11
> pf Debug err
> pf Hostid 0xc4490f26
>
> trunk0 Bytes In IPv4 9311776112
> trunk0 Bytes In IPv6 82089531K
> trunk0 Bytes Out IPv4 817474165
> trunk0 Bytes Out IPv6 5264003084
> trunk0 Packets In Passed IPv4 8398989
> trunk0 Packets In Passed IPv6 58045439
> trunk0 Packets In Blocked IPv4 16908
> trunk0 Packets In Blocked IPv6 32680
> trunk0 Packets Out Passed IPv4 6005423
> trunk0 Packets Out Passed IPv6 34333653
> trunk0 Packets Out Blocked IPv4 3625
> trunk0 Packets Out Blocked IPv6 6277
>
> state Count 105
> state searches 191584952 111.96
> state inserts 475839 0.28
>
>
> Feedback? OK?
Ping.
Index: pf.c
===================================================================
RCS file: /cvs/src/usr.bin/systat/pf.c,v
retrieving revision 1.12
diff -u -p -r1.12 pf.c
--- pf.c 15 May 2020 00:56:03 -0000 1.12
+++ pf.c 29 Aug 2020 15:08:54 -0000
@@ -54,18 +54,16 @@ field_def fields_pf[] = {
{"NAME", 12, 24, 1, FLD_ALIGN_LEFT, -1, 0, 0, 0},
{"VALUE", 8, 10, 1, FLD_ALIGN_RIGHT, -1, 0, 0, 0},
{"RATE", 8, 10, 1, FLD_ALIGN_RIGHT, -1, 0, 0, 60},
- {"NOTES", 10, 20, 1, FLD_ALIGN_LEFT, -1, 0, 0, 60},
};
#define FLD_PF_TYPE FIELD_ADDR(fields_pf,0)
#define FLD_PF_NAME FIELD_ADDR(fields_pf,1)
#define FLD_PF_VALUE FIELD_ADDR(fields_pf,2)
#define FLD_PF_RATE FIELD_ADDR(fields_pf,3)
-#define FLD_PF_DESC FIELD_ADDR(fields_pf,4)
/* Define views */
field_def *view_pf_0[] = {
- FLD_PF_TYPE, FLD_PF_NAME, FLD_PF_VALUE, FLD_PF_RATE, FLD_PF_DESC, NULL
+ FLD_PF_TYPE, FLD_PF_NAME, FLD_PF_VALUE, FLD_PF_RATE, NULL
};
@@ -187,19 +185,6 @@ print_fld_double(field_def *fld, double
return; \
} while (0)
-#define ADD_LINE_VD(t, n, v, d) \
- do { \
- if (cur >= dispstart && cur < end) { \
- print_fld_str(FLD_PF_TYPE, (t)); \
- print_fld_str(FLD_PF_NAME, (n)); \
- print_fld_size(FLD_PF_VALUE, (v)); \
- print_fld_str(FLD_PF_DESC, (d)); \
- end_line(); \
- } \
- if (++cur >= end) \
- return; \
- } while (0)
-
#define ADD_LINE_VR(t, n, v, r) \
do { \
if (cur >= dispstart && cur < end) { \
@@ -273,18 +258,18 @@ print_pf(void)
if (s->ifname[0] != 0) {
ADD_EMPTY_LINE;
- ADD_LINE_VD(s->ifname, "Bytes In", s->bcounters[0][0], "IPv4");
- ADD_LINE_VD(s->ifname, "Bytes In", s->bcounters[1][0], "IPv6");
- ADD_LINE_VD(s->ifname, "Bytes Out", s->bcounters[0][1], "IPv4");
- ADD_LINE_VD(s->ifname, "Bytes Out", s->bcounters[1][1], "IPv6");
- ADD_LINE_VD(s->ifname, "Packets In",
s->pcounters[0][0][PF_PASS], "IPv4, Passed");
- ADD_LINE_VD(s->ifname, "Packets In",
s->pcounters[1][0][PF_PASS], "IPv6, Passed");
- ADD_LINE_VD(s->ifname, "Packets In",
s->pcounters[0][0][PF_DROP], "IPv4, Blocked");
- ADD_LINE_VD(s->ifname, "Packets In",
s->pcounters[1][0][PF_DROP], "IPv6, Blocked");
- ADD_LINE_VD(s->ifname, "Packets Out",
s->pcounters[0][1][PF_PASS], "IPv4, Passed");
- ADD_LINE_VD(s->ifname, "Packets Out",
s->pcounters[1][1][PF_PASS], "IPv6, Passed");
- ADD_LINE_VD(s->ifname, "Packets Out",
s->pcounters[0][1][PF_DROP], "IPv4, Blocked");
- ADD_LINE_VD(s->ifname, "Packets Out",
s->pcounters[1][1][PF_DROP], "IPv6, Blocked");
+ ADD_LINE_V(s->ifname, "Bytes In IPv4", s->bcounters[0][0]);
+ ADD_LINE_V(s->ifname, "Bytes In IPv6", s->bcounters[1][0]);
+ ADD_LINE_V(s->ifname, "Bytes Out IPv4", s->bcounters[0][1]);
+ ADD_LINE_V(s->ifname, "Bytes Out IPv6", s->bcounters[1][1]);
+ ADD_LINE_V(s->ifname, "Packets In Passed IPv4",
s->pcounters[0][0][PF_PASS]);
+ ADD_LINE_V(s->ifname, "Packets In Passed IPv6",
s->pcounters[1][0][PF_PASS]);
+ ADD_LINE_V(s->ifname, "Packets In Blocked IPv4",
s->pcounters[0][0][PF_DROP]);
+ ADD_LINE_V(s->ifname, "Packets In Blocked IPv6",
s->pcounters[1][0][PF_DROP]);
+ ADD_LINE_V(s->ifname, "Packets Out Passed IPv4",
s->pcounters[0][1][PF_PASS]);
+ ADD_LINE_V(s->ifname, "Packets Out Passed IPv6",
s->pcounters[1][1][PF_PASS]);
+ ADD_LINE_V(s->ifname, "Packets Out Blocked IPv4",
s->pcounters[0][1][PF_DROP]);
+ ADD_LINE_V(s->ifname, "Packets Out Blocked IPv6",
s->pcounters[1][1][PF_DROP]);
}