All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Hemminger <shemminger@vyatta.com>
To: David Miller <davem@davemloft.net>
Cc: netdev@vger.kernel.org
Subject: [PATCH 03/33] netdev: expose ethernet address primitives
Date: Mon, 17 Nov 2008 15:42:10 -0800	[thread overview]
Message-ID: <20081117234355.032625967@vyatta.com> (raw)
In-Reply-To: 20081117234207.854110282@vyatta.com

[-- Attachment #1: eth-netdev-ops.patch --]
[-- Type: text/plain, Size: 2708 bytes --]

When ethernet devices are converted, the function pointer setup
by eth_setup() need to be done during intialization.

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

---
 include/linux/etherdevice.h |    4 ++++
 net/ethernet/eth.c          |   13 ++++++++-----
 2 files changed, 12 insertions(+), 5 deletions(-)

--- a/include/linux/etherdevice.h	2008-11-17 14:53:08.000000000 -0800
+++ b/include/linux/etherdevice.h	2008-11-17 15:06:23.000000000 -0800
@@ -41,6 +41,10 @@ extern int eth_header_cache(const struct
 extern void eth_header_cache_update(struct hh_cache *hh,
 				    const struct net_device *dev,
 				    const unsigned char *haddr);
+extern int eth_mac_addr(struct net_device *dev, void *p);
+extern int eth_change_mtu(struct net_device *dev, int new_mtu);
+extern int eth_validate_addr(struct net_device *dev);
+
 
 
 extern struct net_device *alloc_etherdev_mq(int sizeof_priv, unsigned int queue_count);
--- a/net/ethernet/eth.c	2008-11-17 14:53:08.000000000 -0800
+++ b/net/ethernet/eth.c	2008-11-17 15:06:23.000000000 -0800
@@ -282,7 +282,7 @@ EXPORT_SYMBOL(eth_header_cache_update);
  * This doesn't change hardware matching, so needs to be overridden
  * for most real devices.
  */
-static int eth_mac_addr(struct net_device *dev, void *p)
+int eth_mac_addr(struct net_device *dev, void *p)
 {
 	struct sockaddr *addr = p;
 
@@ -293,6 +293,7 @@ static int eth_mac_addr(struct net_devic
 	memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN);
 	return 0;
 }
+EXPORT_SYMBOL(eth_mac_addr);
 
 /**
  * eth_change_mtu - set new MTU size
@@ -302,21 +303,23 @@ static int eth_mac_addr(struct net_devic
  * Allow changing MTU size. Needs to be overridden for devices
  * supporting jumbo frames.
  */
-static int eth_change_mtu(struct net_device *dev, int new_mtu)
+int eth_change_mtu(struct net_device *dev, int new_mtu)
 {
 	if (new_mtu < 68 || new_mtu > ETH_DATA_LEN)
 		return -EINVAL;
 	dev->mtu = new_mtu;
 	return 0;
 }
+EXPORT_SYMBOL(eth_change_mtu);
 
-static int eth_validate_addr(struct net_device *dev)
+int eth_validate_addr(struct net_device *dev)
 {
 	if (!is_valid_ether_addr(dev->dev_addr))
 		return -EADDRNOTAVAIL;
 
 	return 0;
 }
+EXPORT_SYMBOL(eth_validate_addr);
 
 const struct header_ops eth_header_ops ____cacheline_aligned = {
 	.create		= eth_header,
@@ -334,11 +337,11 @@ const struct header_ops eth_header_ops _
 void ether_setup(struct net_device *dev)
 {
 	dev->header_ops		= &eth_header_ops;
-
+#ifdef CONFIG_COMPAT_NET_DEV_OPS
 	dev->change_mtu		= eth_change_mtu;
 	dev->set_mac_address 	= eth_mac_addr;
 	dev->validate_addr	= eth_validate_addr;
-
+#endif
 	dev->type		= ARPHRD_ETHER;
 	dev->hard_header_len 	= ETH_HLEN;
 	dev->mtu		= ETH_DATA_LEN;

-- 


  parent reply	other threads:[~2008-11-17 23:59 UTC|newest]

Thread overview: 93+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-17 23:42 [PATCH 00/33] Network Devices Ops (v0.3) Stephen Hemminger
2008-11-17 23:42 ` [PATCH 01/33] netdev: network device operations infrastructure Stephen Hemminger
2008-11-20  5:26   ` David Miller
2008-11-20  5:27     ` David Miller
2008-11-17 23:42 ` [PATCH 02/33] netdev: introduce dev_get_stats() Stephen Hemminger
2008-11-20  5:40   ` David Miller
2008-11-20  9:17     ` Eric Dumazet
2008-11-20 12:27       ` David Miller
2008-11-17 23:42 ` Stephen Hemminger [this message]
2008-11-20  5:45   ` [PATCH 03/33] netdev: expose ethernet address primitives David Miller
2008-11-20  6:40     ` David Miller
2008-11-17 23:42 ` [PATCH 04/33] netdev: convert loopback to net_device_ops Stephen Hemminger
2008-11-20  5:46   ` David Miller
2008-11-17 23:42 ` [PATCH 05/33] ifb: convert " Stephen Hemminger
2008-11-20  5:47   ` David Miller
2008-11-17 23:42 ` [PATCH 06/33] dummy: " Stephen Hemminger
2008-11-20  5:48   ` David Miller
2008-11-17 23:42 ` [PATCH 07/33] bridge: " Stephen Hemminger
2008-11-20  5:49   ` David Miller
2008-11-17 23:42 ` [PATCH 08/33] veth: " Stephen Hemminger
2008-11-20  5:50   ` David Miller
2008-11-17 23:42 ` [PATCH 09/33] macvlan: " Stephen Hemminger
2008-11-20  5:51   ` David Miller
2008-11-17 23:42 ` [PATCH 10/33] ip: convert to net_device_ops for ioctl Stephen Hemminger
2008-11-20  5:52   ` David Miller
2008-11-17 23:42 ` [PATCH 11/33] vlan: convert to net_device_ops Stephen Hemminger
2008-11-20  5:54   ` David Miller
2008-11-17 23:42 ` [PATCH 12/33] bonding: " Stephen Hemminger
2008-11-20  5:56   ` David Miller
2008-11-17 23:42 ` [PATCH 13/33] e1000e: " Stephen Hemminger
2008-11-20  5:58   ` David Miller
2008-11-17 23:42 ` [PATCH 14/33] sky2: " Stephen Hemminger
2008-11-18  1:37   ` Stephen Hemminger
2008-11-20  6:00     ` David Miller
2008-11-17 23:42 ` [PATCH 15/33] skge: " Stephen Hemminger
2008-11-20  6:01   ` David Miller
2008-11-17 23:42 ` [PATCH 16/33] r8169: " Stephen Hemminger
2008-11-18  1:38   ` Stephen Hemminger
2008-11-18 21:18     ` Francois Romieu
2008-11-20  6:07       ` David Miller
2008-11-20 19:55         ` Francois Romieu
2008-11-17 23:42 ` [PATCH 17/33] 8139: " Stephen Hemminger
2008-11-18  1:39   ` Stephen Hemminger
2008-11-20  6:09     ` David Miller
2008-11-17 23:42 ` [PATCH 18/33] tun: " Stephen Hemminger
2008-11-20  6:10   ` David Miller
2008-11-17 23:42 ` [PATCH 19/33] atl1e: " Stephen Hemminger
2008-11-20  6:12   ` David Miller
2008-11-17 23:42 ` [PATCH 20/33] atlx: " Stephen Hemminger
2008-11-20  6:14   ` David Miller
2008-11-17 23:42 ` [PATCH 21/33] cxgb3: " Stephen Hemminger
2008-11-20  6:15   ` David Miller
2008-11-17 23:42 ` [PATCH 22/33] cxgb2: " Stephen Hemminger
2008-11-18  1:40   ` Stephen Hemminger
2008-11-20  6:17     ` David Miller
2008-11-17 23:42 ` [PATCH 23/33] e1000: " Stephen Hemminger
2008-11-20  6:18   ` David Miller
2008-11-17 23:42 ` [PATCH 24/33] via-velocity: " Stephen Hemminger
2008-11-20  6:19   ` David Miller
2008-11-17 23:42 ` [PATCH 25/33] igb: " Stephen Hemminger
2008-11-20  6:21   ` David Miller
2008-11-17 23:42 ` [PATCH 26/33] e100: " Stephen Hemminger
2008-11-20  6:22   ` David Miller
2008-11-17 23:42 ` [PATCH 27/33] ppp: " Stephen Hemminger
2008-11-20  6:22   ` David Miller
2008-11-17 23:42 ` [PATCH 28/33] enic: " Stephen Hemminger
2008-11-20  6:23   ` David Miller
2008-11-17 23:42 ` [PATCH 29/33] ixgb: " Stephen Hemminger
2008-11-20  6:24   ` David Miller
2008-11-17 23:42 ` [PATCH 30/33] tg3: " Stephen Hemminger
2008-11-18  0:42   ` Matt Carlson
2008-11-18  1:37   ` Stephen Hemminger
2008-11-19 21:04     ` Matt Carlson
2008-11-19 21:07       ` Stephen Hemminger
2008-11-20  1:21         ` David Miller
2008-11-20  6:25     ` David Miller
2008-11-17 23:42 ` [PATCH 31/33] forcedeth: " Stephen Hemminger
2008-11-20  6:27   ` David Miller
2008-11-17 23:42 ` [PATCH 32/33] niu: " Stephen Hemminger
2008-11-20  6:28   ` David Miller
2008-11-17 23:42 ` [PATCH 33/33] acenic: " Stephen Hemminger
2008-11-20  6:29   ` David Miller
2008-11-18  1:27 ` [PATCH 00/33] Network Devices Ops (v0.3) Jeff Kirsher
2008-11-18  1:35   ` Stephen Hemminger
2008-11-18  1:43     ` Jeff Kirsher
2008-11-19 21:55     ` Jeff Kirsher
2008-11-19 22:04       ` David Miller
2008-11-20  1:33 ` David Miller
2008-11-20  3:02   ` Stephen Hemminger
2008-11-20  5:21     ` Eric Dumazet
2008-11-20  5:25       ` David Miller
2008-11-20  6:15         ` Alexey Dobriyan
2008-11-20  6:37           ` 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=20081117234355.032625967@vyatta.com \
    --to=shemminger@vyatta.com \
    --cc=davem@davemloft.net \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.