ether: Add a field for the driver_name
authorBarret Rhoden <brho@cs.berkeley.edu>
Thu, 9 Nov 2017 20:36:07 +0000 (15:36 -0500)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 16 Nov 2017 15:46:56 +0000 (10:46 -0500)
For debugging and viewable in ether/stats.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/drivers/net/bnx2x/bnx2x_dev.c
kern/drivers/net/ether8139.c
kern/drivers/net/ether82563.c
kern/drivers/net/etherigbe.c
kern/drivers/net/mlx4/main.c
kern/include/linux_compat.h
kern/include/net/ip.h
kern/src/net/netif.c

index 1ae8abc..e377e87 100644 (file)
@@ -423,6 +423,7 @@ static int bnx2x_pnp(struct ether *edev)
 
        edev->ctlr = ctlr;
        ctlr->edev = edev;
+       strlcpy(edev->drv_name, "bnx2x", KNAMELEN);
 
        //edev->port = ctlr->port;      /* might just remove this from devether */
        edev->irq = ctlr->pcidev->irqline;
index f5b333a..6580182 100644 (file)
@@ -759,6 +759,7 @@ static int rtl8139pnp(struct ether *edev)
        printd("RTL8139 driver found %s at %02x:%02x.%x\n", rtl8139pci[i].name,
                   ctlr->pcidev->bus, ctlr->pcidev->dev, ctlr->pcidev->func);
        edev->ctlr = ctlr;
+       strlcpy(edev->drv_name, "r8139", KNAMELEN);
        edev->port = ctlr->port;
        edev->irq = ctlr->pcidev->irqline;
 
index aee6070..3e840d7 100644 (file)
@@ -2206,6 +2206,7 @@ static int pnp(struct ether *edev, int type)
                return -1;
 
        edev->ctlr = ctlr;
+       strlcpy(edev->drv_name, "i82563", KNAMELEN);
        ctlr->edev = edev;      /* point back to Ether* */
        edev->port = ctlr->mmio_paddr;
        edev->irq = ctlr->pcidev->irqline;
index 06b13a6..c6ec1fb 100644 (file)
@@ -2036,6 +2036,7 @@ igbepnp(struct ether* edev)
                return -1;
 
        edev->ctlr = ctlr;
+       strlcpy(edev->drv_name, "igbe", KNAMELEN);
        edev->port = ctlr->port;
        edev->irq = ctlr->pci->irqline;
        edev->tbdf = pci_to_tbdf(ctlr->pci);
index e03881d..943c9a9 100644 (file)
@@ -3931,6 +3931,7 @@ static int mlx4_pnp(struct ether *edev)
 
        persist = pci_get_drvdata(pdev);
        persist->edev = edev;
+       strlcpy(edev->drv_name, "mlx4", KNAMELEN);
        mlx4_en_init();
 
        /*
index 0d58956..9f30332 100644 (file)
@@ -207,7 +207,7 @@ static void msleep(unsigned int msecs)
 
 /* Linux printk front ends */
 #ifndef pr_fmt
-#define pr_fmt(fmt) "bnx2x:" fmt
+#define pr_fmt(fmt) fmt
 #endif
 
 #define KERN_EMERG ""
@@ -243,24 +243,28 @@ static void msleep(unsigned int msecs)
        printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
 #define pr_cont(fmt, ...) \
        printk(KERN_CONT pr_fmt(fmt), ##__VA_ARGS__)
+
+#define __print_netif_name(dev) (dev)->drv_name[0] ? (dev)->drv_name : "netdev"
+
 #define netdev_printk(lvl, dev, fmt, ...) \
-       printk("[netdev]: " fmt, ##__VA_ARGS__)
+       printk("[%s]: " fmt, __print_netif_name(dev), ##__VA_ARGS__)
 #define netdev_err(dev, fmt, ...) \
-       printk("[netdev]: " fmt, ##__VA_ARGS__)
+       printk("[%s]: " fmt, __print_netif_name(dev), ##__VA_ARGS__)
 #define netdev_info(dev, fmt, ...) \
-       printk("[netdev]: " fmt, ##__VA_ARGS__)
+       printk("[%s]: " fmt, __print_netif_name(dev), ##__VA_ARGS__)
 #define netdev_dbg(dev, fmt, ...) \
-       printk("[netdev]: " fmt, ##__VA_ARGS__)
+       printk("[%s]: " fmt, __print_netif_name(dev), ##__VA_ARGS__)
 #define netif_err(priv, type, dev, fmt, ...) \
-       printk("[netdev]: " fmt, ##__VA_ARGS__)
+       printk("[%s]: " fmt, __print_netif_name(dev), ##__VA_ARGS__)
 #define netif_warn(priv, type, dev, fmt, ...) \
-       printk("[netdev]: " fmt, ##__VA_ARGS__)
+       printk("[%s]: " fmt, __print_netif_name(dev), ##__VA_ARGS__)
 #define netif_notice(priv, type, dev, fmt, ...) \
-       printk("[netdev]: " fmt, ##__VA_ARGS__)
+       printk("[%s]: " fmt, __print_netif_name(dev), ##__VA_ARGS__)
 #define netif_info(priv, type, dev, fmt, ...) \
-       printk("[netdev]: " fmt, ##__VA_ARGS__)
+       printk("[%s]: " fmt, __print_netif_name(dev), ##__VA_ARGS__)
 #define netif_dbg(priv, type, dev, fmt, ...) \
-       printk("[netdev]: " fmt, ##__VA_ARGS__)
+       printk("[%s]: " fmt, __print_netif_name(dev), ##__VA_ARGS__)
+
 #define dev_err(dev, fmt, ...) \
        printk("[dev]: " fmt, ##__VA_ARGS__)
 #define dev_info(dev, fmt, ...) \
index fe2ff8a..711f8e7 100644 (file)
@@ -1060,6 +1060,7 @@ struct netif {
 
        /* multiplexing */
        char name[KNAMELEN];            /* for top level directory */
+       char drv_name[KNAMELEN];        /* device driver name */
        int nfile;                                      /* max number of Netfiles */
        struct netfile **f;
 
index f809a9d..9b27181 100644 (file)
@@ -283,7 +283,9 @@ netifread(struct ether *nif, struct chan *c, void *a, long n,
                        p = kzmalloc(READSTR, 0);
                        if (p == NULL)
                                return 0;
-                       j = snprintf(p, READSTR, "in: %d\n", nif->inpackets);
+                       j = 0;
+                       j += snprintf(p + j, READSTR - j, "driver: %s\n", nif->drv_name);
+                       j += snprintf(p + j, READSTR - j, "in: %d\n", nif->inpackets);
                        j += snprintf(p + j, READSTR - j, "link: %d\n", nif->link);
                        j += snprintf(p + j, READSTR - j, "out: %d\n", nif->outpackets);
                        j += snprintf(p + j, READSTR - j, "crc errs: %d\n", nif->crcs);