On Sat, Jul 18, 2015 at 01:54:39AM -0300, Rafael Zalamena wrote: > This diff indents the output of bridge rules in ifconfig or ifconfig bridgeX. >
OK reyk@ > 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); > } > } > --