Ejemplo n.º 1
0
    def details(self, fmt):
        buf = '\n' + fmt.nl('\t%s\n\t' % util.title('Configuration:'))

        for i in range(DEVCONF_FORWARDING, DEVCONF_MAX + 1):
            if i & 1 and i > 1:
                buf += fmt.nl('\t')
            txt = util.kw(capi.rtnl_link_inet_devconf2str(i, 32)[0])
            buf += fmt.format('{0:28s} {1:12}  ', txt, self.get_conf(i))

        return buf
Ejemplo n.º 2
0
    def format(self, details=False, stats=False, indent=''):
        """Return link as formatted text"""
        fmt = util.MyFormatter(self, indent)

        buf = fmt.format('{a|ifindex} {a|name} {a|arptype} {a|address} '\
                         '{a|_state} <{a|_flags}> {a|_brief}')

        if details:
            buf += fmt.nl('\t{t|mtu} {t|txqlen} {t|weight} '\
                   '{t|qdisc} {t|operstate}')
            buf += fmt.nl('\t{t|broadcast} {t|alias}')

            buf += self._foreach_af('details', fmt)

        if stats:
            l = [['Packets', RX_PACKETS, TX_PACKETS],
                 ['Bytes', RX_BYTES, TX_BYTES],
                 ['Errors', RX_ERRORS, TX_ERRORS],
                 ['Dropped', RX_DROPPED, TX_DROPPED],
                 ['Compressed', RX_COMPRESSED, TX_COMPRESSED],
                 ['FIFO Errors', RX_FIFO_ERR, TX_FIFO_ERR],
                 ['Length Errors', RX_LEN_ERR, None],
                 ['Over Errors', RX_OVER_ERR, None],
                 ['CRC Errors', RX_CRC_ERR, None],
                 ['Frame Errors', RX_FRAME_ERR, None],
                 ['Missed Errors', RX_MISSED_ERR, None],
                 ['Abort Errors', None, TX_ABORT_ERR],
                 ['Carrier Errors', None, TX_CARRIER_ERR],
                 ['Heartbeat Errors', None, TX_HBEAT_ERR],
                 ['Window Errors', None, TX_WIN_ERR],
                 ['Collisions', None, COLLISIONS],
                 ['Multicast', None, MULTICAST], ['', None, None],
                 ['Ipv6:', None, None], ['Packets', IP6_INPKTS, IP6_OUTPKTS],
                 ['Bytes', IP6_INOCTETS, IP6_OUTOCTETS],
                 ['Discards', IP6_INDISCARDS, IP6_OUTDISCARDS],
                 ['Multicast Packets', IP6_INMCASTPKTS, IP6_OUTMCASTPKTS],
                 ['Multicast Bytes', IP6_INMCASTOCTETS, IP6_OUTMCASTOCTETS],
                 ['Broadcast Packets', IP6_INBCASTPKTS, IP6_OUTBCASTPKTS],
                 ['Broadcast Bytes', IP6_INBCASTOCTETS, IP6_OUTBCASTOCTETS],
                 ['Delivers', IP6_INDELIVERS, None],
                 ['Forwarded', None, IP6_OUTFORWDATAGRAMS],
                 ['No Routes', IP6_INNOROUTES, IP6_OUTNOROUTES],
                 ['Header Errors', IP6_INHDRERRORS, None],
                 ['Too Big Errors', IP6_INTOOBIGERRORS, None],
                 ['Address Errors', IP6_INADDRERRORS, None],
                 ['Unknown Protocol', IP6_INUNKNOWNPROTOS, None],
                 ['Truncated Packets', IP6_INTRUNCATEDPKTS, None],
                 ['Reasm Timeouts', IP6_REASMTIMEOUT, None],
                 ['Reasm Requests', IP6_REASMREQDS, None],
                 ['Reasm Failures', IP6_REASMFAILS, None],
                 ['Reasm OK', IP6_REASMOKS, None],
                 ['Frag Created', None, IP6_FRAGCREATES],
                 ['Frag Failures', None, IP6_FRAGFAILS],
                 ['Frag OK', None, IP6_FRAGOKS], ['', None, None],
                 ['ICMPv6:', None, None],
                 ['Messages', ICMP6_INMSGS, ICMP6_OUTMSGS],
                 ['Errors', ICMP6_INERRORS, ICMP6_OUTERRORS]]

            buf += '\n\t%s%s%s%s\n' % (33 * ' ', util.title('RX'), 15 * ' ',
                                       util.title('TX'))

            for row in l:
                row[0] = util.kw(row[0])
                row[1] = self.get_stat(row[1]) if row[1] else ''
                row[2] = self.get_stat(row[2]) if row[2] else ''
                buf += '\t{0:27} {1:>16} {2:>16}\n'.format(*row)

            buf += self._foreach_af('stats')

        return buf
Ejemplo n.º 3
0
	def format(self, details=False, stats=False, indent=''):
        	"""Return link as formatted text"""
		fmt = util.MyFormatter(self, indent)

		buf = fmt.format('{a|ifindex} {a|name} {a|arptype} {a|address} '\
                		 '{a|_state} <{a|_flags}> {a|_brief}')

		if details:
			buf += fmt.nl('\t{t|mtu} {t|txqlen} {t|weight} '\
				      '{t|qdisc} {t|operstate}')
			buf += fmt.nl('\t{t|broadcast} {t|alias}')
                	
                        buf += self._foreach_af('details', fmt)

		if stats:
			l = [['Packets', RX_PACKETS, TX_PACKETS],
			     ['Bytes', RX_BYTES, TX_BYTES],
			     ['Errors', RX_ERRORS, TX_ERRORS],
			     ['Dropped', RX_DROPPED, TX_DROPPED],
			     ['Compressed', RX_COMPRESSED, TX_COMPRESSED],
			     ['FIFO Errors', RX_FIFO_ERR, TX_FIFO_ERR],
			     ['Length Errors', RX_LEN_ERR, None],
			     ['Over Errors', RX_OVER_ERR, None],
			     ['CRC Errors', RX_CRC_ERR, None],
			     ['Frame Errors', RX_FRAME_ERR, None],
			     ['Missed Errors', RX_MISSED_ERR, None],
			     ['Abort Errors', None, TX_ABORT_ERR],
			     ['Carrier Errors', None, TX_CARRIER_ERR],
			     ['Heartbeat Errors', None, TX_HBEAT_ERR],
			     ['Window Errors', None, TX_WIN_ERR],
			     ['Collisions', None, COLLISIONS],
			     ['Multicast', None, MULTICAST],
			     ['', None, None],
			     ['Ipv6:', None, None],
			     ['Packets', IP6_INPKTS, IP6_OUTPKTS],
			     ['Bytes', IP6_INOCTETS, IP6_OUTOCTETS],
			     ['Discards', IP6_INDISCARDS, IP6_OUTDISCARDS],
			     ['Multicast Packets', IP6_INMCASTPKTS, IP6_OUTMCASTPKTS],
			     ['Multicast Bytes', IP6_INMCASTOCTETS, IP6_OUTMCASTOCTETS],
			     ['Broadcast Packets', IP6_INBCASTPKTS, IP6_OUTBCASTPKTS],
			     ['Broadcast Bytes', IP6_INBCASTOCTETS, IP6_OUTBCASTOCTETS],
			     ['Delivers', IP6_INDELIVERS, None],
			     ['Forwarded', None, IP6_OUTFORWDATAGRAMS],
			     ['No Routes', IP6_INNOROUTES, IP6_OUTNOROUTES],
			     ['Header Errors', IP6_INHDRERRORS, None],
			     ['Too Big Errors', IP6_INTOOBIGERRORS, None],
			     ['Address Errors', IP6_INADDRERRORS, None],
			     ['Unknown Protocol', IP6_INUNKNOWNPROTOS, None],
			     ['Truncated Packets', IP6_INTRUNCATEDPKTS, None],
			     ['Reasm Timeouts', IP6_REASMTIMEOUT, None],
			     ['Reasm Requests', IP6_REASMREQDS, None],
			     ['Reasm Failures', IP6_REASMFAILS, None],
			     ['Reasm OK', IP6_REASMOKS, None],
			     ['Frag Created', None, IP6_FRAGCREATES],
			     ['Frag Failures', None, IP6_FRAGFAILS],
			     ['Frag OK', None, IP6_FRAGOKS],
			     ['', None, None],
			     ['ICMPv6:', None, None],
			     ['Messages', ICMP6_INMSGS, ICMP6_OUTMSGS],
			     ['Errors', ICMP6_INERRORS, ICMP6_OUTERRORS]]

			buf += '\n\t%s%s%s%s\n' % (33 * ' ', util.title('RX'),
                        			   15 * ' ', util.title('TX'))

			for row in l:
				row[0] = util.kw(row[0])
                                row[1] = self.get_stat(row[1]) if row[1] else ''
                                row[2] = self.get_stat(row[2]) if row[2] else ''
				buf += '\t{0:27} {1:>16} {2:>16}\n'.format(*row)

                        buf += self._foreach_af('stats')

		return buf