Exemplo n.º 1
0
def show_network_interfaces(options):
    for dev in netdevice.dev_base_list():
        dev_addr = "Not available"
        if (dev.dev_addr != 0):
            dev_addr = ("%02x:%02x:%02x:%02x:%02x:%02x" %
                        (dev.dev_addr[0], dev.dev_addr[1], dev.dev_addr[2],
                         dev.dev_addr[3], dev.dev_addr[4], dev.dev_addr[5]))

        netdev_ops = dev.netdev_ops
        netdev_ops_str = addr2sym(netdev_ops)
        driver_module = ""
        crashout = exec_crash_command("sym %s" % (netdev_ops_str))
        driver_module = crashout.split()[-1]
        if (driver_module[0] != "["):
            driver_module = "<built-in>"

        print("0x%016x : %s (%s) managed by " % (dev, dev.name, dev_addr),
              end='')
        crashcolor.set_color(crashcolor.BLUE)
        print("%s" % driver_module)
        crashcolor.set_color(crashcolor.RESET)
        if (options.network_details):
            print("\tnetdev_ops = %s (0x%x)" % (netdev_ops_str, netdev_ops))

            master_name = ""
            if (member_offset("struct net_device", "master") >= 0):
                if (dev.master != 0):
                    master_name = dev.master.name
            else:
                master_name = "Not available"

            print("\tMTU: %d, Master = <%s>" % (dev.mtu, master_name))

            print("\tIRQ: %d, num_tx_queues = %d, real_num_tx_queues = %d" %
                  (dev.irq, dev.num_tx_queues, dev.real_num_tx_queues))
Exemplo n.º 2
0
def IF_Summarize(quiet=False):

    if (quiet):
        return
    print("Interfaces Info")
    print("---------------")
    dev_base_list = netdevice.dev_base_list()
    print("  How long ago (in seconds) interfaces transmitted/received?")
    print("\t  Name        RX          TX")
    print("\t  ----    ----------    ---------")

    jiffies = readSymbol("jiffies")
    for dev in dev_base_list:
        try:
            last_rx = __j_delay(dev.last_rx, jiffies)
        except KeyError:
            last_rx = "n/a"
        if (dev.hasField("_tx")):
            trans_start = dev._tx.trans_start
        else:
            trans_start = dev.trans_start
        trans_start = __j_delay(trans_start, jiffies)
        print("\t%8s    %s       %s" % (dev.name, last_rx, trans_start))

    print("\n\n")
Exemplo n.º 3
0
def print_iface(if1="", details=False):
    for dev in netdevice.dev_base_list():
        if (if1 == "" or if1 == dev.name):
            netdevice.print_If(dev, details)