This diff indents the output of bridge rules in ifconfig or ifconfig bridgeX.
Old output: $ ifconfig bridge0 bridge0: flags=41<UP,RUNNING> groups: bridge priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp designated: id 00:00:00:00:00:00 priority 0 tun1 flags=3<LEARNING,DISCOVER> port 148 ifpriority 0 ifcost 0 block in on tun1 src 00:11:22:33:44:55 block in on tun1 src 00:11:22:33:44:56 block out on tun1 src 00:11:22:33:44:56 Addresses (max cache: 100, timeout: 240): New output: $ ifconfig bridge0 bridge0: flags=41<UP,RUNNING> groups: bridge priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp designated: id 00:00:00:00:00:00 priority 0 tun1 flags=3<LEARNING,DISCOVER> port 148 ifpriority 0 ifcost 0 block in on tun1 src 00:11:22:33:44:55 block in on tun1 src 00:11:22:33:44:56 block out on tun1 src 00:11:22:33:44:56 Addresses (max cache: 100, timeout: 240): Also I kept the 'ifconfig bridgeX rules <interface>' non-indented: $ ifconfig bridge0 rules tun1 block in on tun1 src 00:11:22:33:44:55 block in on tun1 src 00:11:22:33:44:56 block out on tun1 src 00:11:22:33:44:56 Index: sbin/ifconfig//brconfig.c =================================================================== RCS file: /cvs/src/sbin/ifconfig/brconfig.c,v retrieving revision 1.8 diff -u -p -r1.8 brconfig.c --- sbin/ifconfig//brconfig.c 13 Oct 2013 12:18:18 -0000 1.8 +++ sbin/ifconfig//brconfig.c 18 Jul 2015 04:41:02 -0000 @@ -322,7 +322,7 @@ bridge_list(char *delim) stpstates[reqp->ifbr_state], stproles[reqp->ifbr_role]); printf("\n"); - bridge_rules(buf, 0); + bridge_rules(buf, 1); } free(bifc.ifbic_buf); } @@ -742,7 +742,7 @@ bridge_flushrule(const char *ifname, int } void -bridge_rules(const char *ifname, int d) +bridge_rules(const char *ifname, int usetab) { char *inbuf = NULL, *inb; struct ifbrlconf ifc; @@ -766,6 +766,10 @@ bridge_rules(const char *ifname, int d) ifrp = ifc.ifbrl_req; for (i = 0; i < ifc.ifbrl_len; i += sizeof(*ifrp)) { ifrp = (struct ifbrlreq *)((caddr_t)ifc.ifbrl_req + i); + + if (usetab) + printf("\t"); + bridge_showrule(ifrp); } }