public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
From: Stephen Hemminger <shemminger@vyatta•com>
To: David Miller <davem@davemloft•net>,
	tom@opengridcomputing•com, swise@opengridcomputing•com
Cc: netdev@vger•kernel.org, general@lists•openfabrics.org
Subject: [ofa-general] [PATCH 03/77] infiniband: convert c2 to net_device_ops
Date: Fri, 20 Mar 2009 22:35:30 -0700	[thread overview]
Message-ID: <20090321053712.797092692@vyatta.com> (raw)
In-Reply-To: 20090321053527.316395697@vyatta.com

[-- Attachment #1: infiniband-c2.patch --]
[-- Type: text/plain, Size: 5609 bytes --]

Convert this driver to new net_device_ops infrastructure.
Also use default net_device get-stats infrastructure

Signed-off-by: Stephen Hemminger <shemminger@vyatta•com>

---
 drivers/infiniband/hw/amso1100/c2.c          |   41 ++++++++++++---------------
 drivers/infiniband/hw/amso1100/c2.h          |    2 -
 drivers/infiniband/hw/amso1100/c2_provider.c |   22 +++++++-------
 3 files changed, 30 insertions(+), 35 deletions(-)

--- a/drivers/infiniband/hw/amso1100/c2.c	2009-03-19 22:40:30.574963980 -0700
+++ b/drivers/infiniband/hw/amso1100/c2.c	2009-03-19 22:42:42.388718732 -0700
@@ -76,7 +76,6 @@ static irqreturn_t c2_interrupt(int irq,
 static void c2_tx_timeout(struct net_device *netdev);
 static int c2_change_mtu(struct net_device *netdev, int new_mtu);
 static void c2_reset(struct c2_port *c2_port);
-static struct net_device_stats *c2_get_stats(struct net_device *netdev);
 
 static struct pci_device_id c2_pci_table[] = {
 	{ PCI_DEVICE(0x18b8, 0xb001) },
@@ -349,7 +348,7 @@ static void c2_tx_clean(struct c2_port *
 					     elem->hw_desc + C2_TXP_ADDR);
 				__raw_writew((__force u16) cpu_to_be16(TXP_HTXD_DONE),
 					     elem->hw_desc + C2_TXP_FLAGS);
-				c2_port->netstats.tx_dropped++;
+				c2_port->netdev->stats.tx_dropped++;
 				break;
 			} else {
 				__raw_writew(0,
@@ -457,7 +456,7 @@ static void c2_rx_error(struct c2_port *
 		     elem->hw_desc + C2_RXP_FLAGS);
 
 	pr_debug("packet dropped\n");
-	c2_port->netstats.rx_dropped++;
+	c2_port->netdev->stats.rx_dropped++;
 }
 
 static void c2_rx_interrupt(struct net_device *netdev)
@@ -532,8 +531,8 @@ static void c2_rx_interrupt(struct net_d
 		netif_rx(skb);
 
 		netdev->last_rx = jiffies;
-		c2_port->netstats.rx_packets++;
-		c2_port->netstats.rx_bytes += buflen;
+		netdev->stats.rx_packets++;
+		netdev->stats.rx_bytes += buflen;
 	}
 
 	/* Save where we left off */
@@ -797,8 +796,8 @@ static int c2_xmit_frame(struct sk_buff 
 	__raw_writew((__force u16) cpu_to_be16(TXP_HTXD_READY),
 		     elem->hw_desc + C2_TXP_FLAGS);
 
-	c2_port->netstats.tx_packets++;
-	c2_port->netstats.tx_bytes += maplen;
+	netdev->stats.tx_packets++;
+	netdev->stats.tx_bytes += maplen;
 
 	/* Loop thru additional data fragments and queue them */
 	if (skb_shinfo(skb)->nr_frags) {
@@ -823,8 +822,8 @@ static int c2_xmit_frame(struct sk_buff 
 			__raw_writew((__force u16) cpu_to_be16(TXP_HTXD_READY),
 				     elem->hw_desc + C2_TXP_FLAGS);
 
-			c2_port->netstats.tx_packets++;
-			c2_port->netstats.tx_bytes += maplen;
+			netdev->stats.tx_packets++;
+			netdev->stats.tx_bytes += maplen;
 		}
 	}
 
@@ -845,13 +844,6 @@ static int c2_xmit_frame(struct sk_buff 
 	return NETDEV_TX_OK;
 }
 
-static struct net_device_stats *c2_get_stats(struct net_device *netdev)
-{
-	struct c2_port *c2_port = netdev_priv(netdev);
-
-	return &c2_port->netstats;
-}
-
 static void c2_tx_timeout(struct net_device *netdev)
 {
 	struct c2_port *c2_port = netdev_priv(netdev);
@@ -880,6 +872,16 @@ static int c2_change_mtu(struct net_devi
 	return ret;
 }
 
+static const struct net_device_ops c2_netdev = {
+	.ndo_open 		= c2_up,
+	.ndo_stop 		= c2_down,
+	.ndo_start_xmit		= c2_xmit_frame,
+	.ndo_tx_timeout		= c2_tx_timeout,
+	.ndo_change_mtu		= c2_change_mtu,
+	.ndo_set_mac_address 	= eth_mac_addr,
+	.ndo_validate_addr	= eth_validate_addr,
+};
+
 /* Initialize network device */
 static struct net_device *c2_devinit(struct c2_dev *c2dev,
 				     void __iomem * mmio_addr)
@@ -894,12 +896,7 @@ static struct net_device *c2_devinit(str
 
 	SET_NETDEV_DEV(netdev, &c2dev->pcidev->dev);
 
-	netdev->open = c2_up;
-	netdev->stop = c2_down;
-	netdev->hard_start_xmit = c2_xmit_frame;
-	netdev->get_stats = c2_get_stats;
-	netdev->tx_timeout = c2_tx_timeout;
-	netdev->change_mtu = c2_change_mtu;
+	netdev->netdev_ops = &c2_netdev;
 	netdev->watchdog_timeo = C2_TX_TIMEOUT;
 	netdev->irq = c2dev->pcidev->irq;
 
--- a/drivers/infiniband/hw/amso1100/c2.h	2009-03-19 22:40:30.587964264 -0700
+++ b/drivers/infiniband/hw/amso1100/c2.h	2009-03-19 22:42:42.389902290 -0700
@@ -369,8 +369,6 @@ struct c2_port {
 	unsigned long mem_size;
 
 	u32 rx_buf_size;
-
-	struct net_device_stats netstats;
 };
 
 /*
--- a/drivers/infiniband/hw/amso1100/c2_provider.c	2009-03-19 22:40:30.579963953 -0700
+++ b/drivers/infiniband/hw/amso1100/c2_provider.c	2009-03-19 22:42:42.389902290 -0700
@@ -708,26 +708,27 @@ static int c2_pseudo_xmit_frame(struct s
 
 static int c2_pseudo_change_mtu(struct net_device *netdev, int new_mtu)
 {
-	int ret = 0;
-
 	if (new_mtu < ETH_ZLEN || new_mtu > ETH_JUMBO_MTU)
 		return -EINVAL;
 
 	netdev->mtu = new_mtu;
 
 	/* TODO: Tell rnic about new rmda interface mtu */
-	return ret;
+	return 0;
 }
 
+static const struct net_device_ops c2_pseudo_netdev_ops = {
+	.ndo_open 		= c2_pseudo_up,
+	.ndo_stop 		= c2_pseudo_down,
+	.ndo_start_xmit 	= c2_pseudo_xmit_frame,
+	.ndo_change_mtu 	= c2_pseudo_change_mtu,
+	.ndo_validate_addr	= eth_validate_addr,
+};
+
 static void setup(struct net_device *netdev)
 {
-	netdev->open = c2_pseudo_up;
-	netdev->stop = c2_pseudo_down;
-	netdev->hard_start_xmit = c2_pseudo_xmit_frame;
-	netdev->get_stats = NULL;
-	netdev->tx_timeout = NULL;
-	netdev->set_mac_address = NULL;
-	netdev->change_mtu = c2_pseudo_change_mtu;
+	netdev->netdev_ops = &c2_pseudo_netdev_ops;
+
 	netdev->watchdog_timeo = 0;
 	netdev->type = ARPHRD_ETHER;
 	netdev->mtu = 1500;
@@ -735,7 +736,6 @@ static void setup(struct net_device *net
 	netdev->addr_len = ETH_ALEN;
 	netdev->tx_queue_len = 0;
 	netdev->flags |= IFF_NOARP;
-	return;
 }
 
 static struct net_device *c2_pseudo_netdev_init(struct c2_dev *c2dev)

-- 

  parent reply	other threads:[~2009-03-21  5:35 UTC|newest]

Thread overview: 197+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-21  5:35 [PATCH 00/77] Convert most of the rest of the devices to net_device_ops Stephen Hemminger
2009-03-21  5:35 ` [PATCH 01/77] atm: convert mpc device to using netdev_ops Stephen Hemminger
2009-03-21 11:44   ` Chas Williams (CONTRACTOR)
2009-03-22  2:34   ` David Miller
2009-03-21  5:35 ` [PATCH 02/77] atm: cconvert clip driver to net_device_ops Stephen Hemminger
2009-03-22  2:34   ` David Miller
2009-03-21  5:35 ` Stephen Hemminger [this message]
2009-03-21 18:26   ` [ofa-general] Re: [PATCH 03/77] infiniband: convert c2 " Steve Wise
2009-03-22  2:34   ` David Miller
2009-03-22 16:12   ` [ofa-general] " Roland Dreier
2009-03-23  4:17     ` David Miller
2009-03-21  5:35 ` [ofa-general] [PATCH 04/77] infiniband: convert nes driver " Stephen Hemminger
2009-03-22  2:34   ` David Miller
2009-03-21  5:35 ` [ofa-general] [PATCH 05/77] infiniband: convert ipoib " Stephen Hemminger
2009-03-22  2:34   ` [ofa-general] " David Miller
2009-03-21  5:35 ` [PATCH 06/77] irda: net_device_ops ioctl fix Stephen Hemminger
2009-03-22  2:34   ` David Miller
2009-03-23 11:33   ` Samuel Ortiz
2009-03-23 11:33   ` Samuel Ortiz
2009-03-21  5:35 ` [PATCH 07/77] irlan: convert to net_device_ops Stephen Hemminger
2009-03-22  2:34   ` David Miller
2009-03-23 11:33   ` Samuel Ortiz
2009-03-21  5:35 ` [PATCH 08/77] irda: convert irda_usb " Stephen Hemminger
2009-03-22  2:34   ` David Miller
2009-03-23 11:34   ` Samuel Ortiz
2009-03-21  5:35 ` [PATCH 09/77] irda: convert mcs driver " Stephen Hemminger
2009-03-22  2:34   ` David Miller
2009-03-23 11:34   ` Samuel Ortiz
2009-03-21  5:35 ` [PATCH 10/77] stir4200: convert " Stephen Hemminger
2009-03-22  2:34   ` David Miller
2009-03-23 11:34   ` Samuel Ortiz
2009-03-21  5:35 ` [PATCH 11/77] irda: convert w83977af_ir " Stephen Hemminger
2009-03-22  2:36   ` David Miller
2009-03-23 11:35   ` Samuel Ortiz
2009-03-21  5:35 ` [PATCH 12/77] irda: convert nsc_ircc driver " Stephen Hemminger
2009-03-22  2:36   ` David Miller
2009-03-23 11:35   ` Samuel Ortiz
2009-03-21  5:35 ` [PATCH 13/77] irda: convert ali " Stephen Hemminger
2009-03-22  2:36   ` David Miller
2009-03-23 11:35   ` Samuel Ortiz
2009-03-21  5:35 ` [PATCH 14/77] irda: convert vlsi " Stephen Hemminger
2009-03-22  2:36   ` David Miller
2009-03-23 11:35   ` Samuel Ortiz
2009-03-21  5:35 ` [PATCH 15/77] irda: convert smsc " Stephen Hemminger
2009-03-22  2:36   ` David Miller
2009-03-23 11:36   ` Samuel Ortiz
2009-03-21  5:35 ` [PATCH 16/77] irda: convert via-ircc " Stephen Hemminger
2009-03-22  2:36   ` David Miller
2009-03-23 11:36   ` Samuel Ortiz
2009-03-21  5:35 ` [PATCH 17/77] irda: convert sir device " Stephen Hemminger
2009-03-22  2:36   ` David Miller
2009-03-23 11:36   ` Samuel Ortiz
2009-03-21  5:35 ` [PATCH 18/77] irda: convert kignsun " Stephen Hemminger
2009-03-22  2:37   ` David Miller
2009-03-23 11:37   ` Samuel Ortiz
2009-03-21  5:35 ` [PATCH 19/77] irda: convert ksdazzle " Stephen Hemminger
2009-03-22  2:37   ` David Miller
2009-03-23 11:37   ` Samuel Ortiz
2009-03-21  5:35 ` [PATCH 20/77] irda: convert ks959 " Stephen Hemminger
2009-03-22  2:37   ` David Miller
2009-03-23 11:37   ` Samuel Ortiz
2009-03-21  5:35 ` [PATCH 21/77] usbnet: convert catc to internal net_device_stats Stephen Hemminger
2009-03-22  2:45   ` David Miller
2009-03-21  5:35 ` [PATCH 22/77] usbnet: convert catc device to net_device_ops Stephen Hemminger
2009-03-21  9:01   ` David Brownell
2009-03-21 13:02     ` Vojtech Pavlik
2009-03-21 10:17   ` Jiri Pirko
2009-03-22  2:40     ` David Miller
2009-03-22  2:45   ` David Miller
2009-03-21  5:35 ` [PATCH 23/77] usbnet: convert to internal net_device stats Stephen Hemminger
2009-03-21  9:01   ` David Brownell
2009-03-21 13:02     ` Vojtech Pavlik
2009-03-22  2:45   ` David Miller
2009-03-21  5:35 ` [PATCH 24/77] usbnet: convert rtl driver to net_device_ops Stephen Hemminger
2009-03-21  9:03   ` David Brownell
2009-03-23  9:17     ` Petko Manolov
2009-03-22  2:45   ` David Miller
2009-03-21  5:35 ` [PATCH 25/77] usbnet: convert hso " Stephen Hemminger
2009-03-21  9:08   ` David Brownell
2009-03-22  2:45   ` David Miller
2009-03-21  5:35 ` [PATCH 26/77] usbnet: convert to internal net_device_stats Stephen Hemminger
2009-03-21  9:09   ` David Brownell
2009-03-22  2:46   ` David Miller
2009-03-21  5:35 ` [PATCH 27/77] usbnet: support net_device_ops Stephen Hemminger
2009-03-21  9:11   ` David Brownell
2009-03-22  2:46   ` David Miller
2009-03-21  5:35 ` [PATCH 28/77] usbnet: convert asix driver to net_device_ops Stephen Hemminger
2009-03-21  9:12   ` David Brownell
2009-03-22  2:46   ` David Miller
2009-03-21  5:35 ` [PATCH 29/77] usbnet: convert dms9601 " Stephen Hemminger
2009-03-21  9:14   ` David Brownell
2009-03-21 10:57     ` Peter Korsgaard
2009-03-21 11:28       ` Peter Korsgaard
2009-03-22  3:00   ` David Miller
2009-03-21  5:35 ` [PATCH 30/77] usbnet: convert msc7830 " Stephen Hemminger
2009-03-21  9:19   ` David Brownell
2009-03-22  3:00   ` David Miller
2009-03-21  5:35 ` [PATCH 31/77] usbnet: convert sms95xx " Stephen Hemminger
2009-03-21  9:20   ` David Brownell
2009-03-21 15:53     ` Steve.Glendinning
2009-03-22  3:01   ` David Miller
2009-03-21  5:35 ` [PATCH 32/77] usbnet: convert rndis driver to use dev_get_stats Stephen Hemminger
2009-03-21  9:22   ` David Brownell
2009-03-22  3:01   ` David Miller
2009-03-21  5:36 ` [PATCH 33/77] usbnet: convert rndis driver to net_device_ops Stephen Hemminger
2009-03-21  9:23   ` David Brownell
2009-03-22  3:01   ` David Miller
2009-03-21  5:36 ` [PATCH 34/77] pcmcia: convert 3c589 " Stephen Hemminger
2009-03-22  3:01   ` David Miller
2009-03-21  5:36 ` [PATCH 35/77] pcmcia: convert 3c574 " Stephen Hemminger
2009-03-22  3:01   ` David Miller
2009-03-21  5:36 ` [PATCH 36/77] pcmcia: convert fmvj18x driver to internal net_device_stats Stephen Hemminger
2009-03-22  3:01   ` David Miller
2009-03-21  5:36 ` [PATCH 37/77] pcmcia: convert fmvj18x driver to net_device_ops Stephen Hemminger
2009-03-22  3:01   ` David Miller
2009-03-21  5:36 ` [PATCH 38/77] pcmcia: convert nmclan " Stephen Hemminger
2009-03-22  3:01   ` David Miller
2009-03-21  5:36 ` [PATCH 39/77] pcnet: convert " Stephen Hemminger
2009-03-22  3:01   ` David Miller
2009-03-21  5:36 ` [PATCH 40/77] xir2cps: convert to internal net_device stats Stephen Hemminger
2009-03-22  3:02   ` David Miller
2009-03-21  5:36 ` [PATCH 41/77] xirc2ps: convert to net_device_ops Stephen Hemminger
2009-03-22  5:42   ` David Miller
2009-03-21  5:36 ` [PATCH 42/77] smc91c92: convert to internal net_device_stats Stephen Hemminger
2009-03-22  5:42   ` David Miller
2009-03-21  5:36 ` [PATCH 43/77] smc91c92: convert to net_device_ops Stephen Hemminger
2009-03-22  5:42   ` David Miller
2009-03-21  5:36 ` [PATCH 44/77] axnet: convert ot net_device_ops Stephen Hemminger
2009-03-22  5:42   ` David Miller
2009-03-21  5:36 ` [PATCH 45/77] x25_asy: convert to internal net_device_stats Stephen Hemminger
2009-03-22  5:42   ` David Miller
2009-03-21  5:36 ` [PATCH 46/77] x25_asy: convert to net_device_ops Stephen Hemminger
2009-03-22  5:43   ` David Miller
2009-03-21  5:36 ` [PATCH 47/77] dlci: convert to internal net_device_stats Stephen Hemminger
2009-03-22  5:43   ` David Miller
2009-03-21  5:36 ` [PATCH 48/77] dlci: convert to net_device_ops Stephen Hemminger
2009-03-22  5:43   ` David Miller
2009-03-21  5:36 ` [PATCH 49/77] cycx: " Stephen Hemminger
2009-03-22  5:43   ` David Miller
2009-03-21  5:36 ` [PATCH 50/77] lapbether: convert to internal net_device_stats Stephen Hemminger
2009-03-22  5:43   ` David Miller
2009-03-21  5:36 ` [PATCH 51/77] labether: convert to net_device_ops Stephen Hemminger
2009-03-22  5:47   ` David Miller
2009-03-21  5:36 ` [PATCH 52/77] sbni: use internal net_device_stats Stephen Hemminger
2009-03-22  5:47   ` David Miller
2009-03-21  5:36 ` [PATCH 53/77] sbni: convert to net_device_ops Stephen Hemminger
2009-03-22  5:47   ` David Miller
2009-03-21  5:36 ` [PATCH 54/77] netwave: convert to internal net_device_stats Stephen Hemminger
     [not found]   ` <20090321053716.656878050-ZtmgI6mnKB3QT0dZR+AlfA@public.gmane.org>
2009-03-22  5:47     ` David Miller
2009-03-21  5:36 ` [PATCH 55/77] netwave: convert to net_device_ops Stephen Hemminger
2009-03-22  5:48   ` David Miller
2009-03-21  5:36 ` [PATCH 56/77] strip: " Stephen Hemminger
2009-03-22  5:47   ` David Miller
2009-03-21  5:36 ` [PATCH 57/77] wavelan: convert to internal net_device_stats Stephen Hemminger
     [not found]   ` <20090321053716.884788530-ZtmgI6mnKB3QT0dZR+AlfA@public.gmane.org>
2009-03-22  5:47     ` David Miller
2009-03-21  5:36 ` [PATCH 58/77] wavelan: convert to net_device_ops Stephen Hemminger
2009-03-22  5:47   ` David Miller
2009-03-21  5:36 ` [PATCH 59/77] airo: " Stephen Hemminger
     [not found]   ` <20090321053717.048069302-ZtmgI6mnKB3QT0dZR+AlfA@public.gmane.org>
2009-03-22  5:48     ` David Miller
2009-03-21  5:36 ` [PATCH 60/77] atmel: " Stephen Hemminger
     [not found]   ` <20090321053717.126155878-ZtmgI6mnKB3QT0dZR+AlfA@public.gmane.org>
2009-03-22  5:48     ` David Miller
2009-03-21  5:36 ` [PATCH 61/77] raylan: " Stephen Hemminger
2009-03-22  5:53   ` David Miller
2009-03-21  5:36 ` [PATCH 62/77] wl3501: convert to internal net_device_stats Stephen Hemminger
2009-03-22  5:53   ` David Miller
2009-03-21  5:36 ` [PATCH 63/77] wl3501: convert to net_device_ops Stephen Hemminger
2009-03-22  5:53   ` David Miller
2009-03-21  5:36 ` [PATCH 64/77] zd1201: convert to internal net_device_stats Stephen Hemminger
     [not found]   ` <20090321053717.440414565-ZtmgI6mnKB3QT0dZR+AlfA@public.gmane.org>
2009-03-22  5:53     ` David Miller
2009-03-21  5:36 ` [PATCH 65/77] zd1201: convert to net_device_ops Stephen Hemminger
     [not found]   ` <20090321053717.514936473-ZtmgI6mnKB3QT0dZR+AlfA@public.gmane.org>
2009-03-22  5:53     ` David Miller
2009-03-21  5:36 ` [PATCH 66/77] mac80211_hwsim: convert to internal net_device_stats Stephen Hemminger
     [not found]   ` <20090321053717.601771143-ZtmgI6mnKB3QT0dZR+AlfA@public.gmane.org>
2009-03-21 11:08     ` Johannes Berg
2009-03-22  5:49       ` David Miller
2009-03-22  5:53     ` David Miller
2009-03-21  5:36 ` [PATCH 67/77] prism54: convert to net_device_ops Stephen Hemminger
     [not found]   ` <20090321053717.682860987-ZtmgI6mnKB3QT0dZR+AlfA@public.gmane.org>
2009-03-22  5:53     ` David Miller
2009-03-21  5:36 ` [PATCH 68/77] prism54: convert to internal net_device_stats Stephen Hemminger
2009-03-22  5:53   ` David Miller
2009-03-21  5:36 ` [PATCH 69/77] libertas: " Stephen Hemminger
2009-03-22  5:54   ` David Miller
2009-03-21  5:36 ` [PATCH 70/77] libertas: convert to net_device_ops Stephen Hemminger
2009-03-22  5:54   ` David Miller
2009-03-21  5:36 ` [PATCH 71/77] ipw2x00: convert to internal net_device_stats Stephen Hemminger
2009-03-22  5:56   ` David Miller
2009-03-21  5:36 ` [PATCH 72/77] ipw2x00: convert infrastructure for use by net_device_ops Stephen Hemminger
2009-03-22  5:56   ` David Miller
2009-03-21  5:36 ` [PATCH 73/77] ipw2100: convert to net_device_ops Stephen Hemminger
     [not found]   ` <20090321053718.145743314-ZtmgI6mnKB3QT0dZR+AlfA@public.gmane.org>
2009-03-22  5:57     ` David Miller
2009-03-21  5:36 ` [PATCH 74/77] ipw2200: " Stephen Hemminger
     [not found]   ` <20090321053718.224939952-ZtmgI6mnKB3QT0dZR+AlfA@public.gmane.org>
2009-03-22  5:57     ` David Miller
2009-03-21  5:36 ` [PATCH 75/77] hostap: convert to internal net_device_stats Stephen Hemminger
2009-03-22  5:57   ` David Miller
2009-03-21  5:36 ` [PATCH 76/77] hostap: convert to net_device_ops Stephen Hemminger
2009-03-22  5:57   ` David Miller
2009-03-21  5:36 ` [PATCH 77/77] netdev: expose net_device_ops compat as config option Stephen Hemminger
2009-03-22  5:57   ` David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090321053712.797092692@vyatta.com \
    --to=shemminger@vyatta$(echo .)com \
    --cc=davem@davemloft$(echo .)net \
    --cc=general@lists$(echo .)openfabrics.org \
    --cc=netdev@vger$(echo .)kernel.org \
    --cc=swise@opengridcomputing$(echo .)com \
    --cc=tom@opengridcomputing$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox