summaryrefslogtreecommitdiffstats
path: root/net/ethernet
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1999-10-09 00:00:47 +0000
committerRalf Baechle <ralf@linux-mips.org>1999-10-09 00:00:47 +0000
commitd6434e1042f3b0a6dfe1b1f615af369486f9b1fa (patch)
treee2be02f33984c48ec019c654051d27964e42c441 /net/ethernet
parent609d1e803baf519487233b765eb487f9ec227a18 (diff)
Merge with 2.3.19.
Diffstat (limited to 'net/ethernet')
-rw-r--r--net/ethernet/.cvsignore2
-rw-r--r--net/ethernet/eth.c22
-rw-r--r--net/ethernet/pe2.c2
3 files changed, 14 insertions, 12 deletions
diff --git a/net/ethernet/.cvsignore b/net/ethernet/.cvsignore
deleted file mode 100644
index 857dd22e9..000000000
--- a/net/ethernet/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-.depend
-.*.flags
diff --git a/net/ethernet/eth.c b/net/ethernet/eth.c
index 128c2a5e9..f7972b7df 100644
--- a/net/ethernet/eth.c
+++ b/net/ethernet/eth.c
@@ -60,13 +60,15 @@
#include <asm/system.h>
#include <asm/checksum.h>
-
-__initfunc(void eth_setup(char *str, int *ints))
+static int __init eth_setup(char *str)
{
- struct device *d;
+ int ints[5];
+ struct net_device *d;
+
+ str = get_options(str, ARRAY_SIZE(ints), ints);
if (!str || !*str)
- return;
+ return 0;
d = dev_base;
while (d)
@@ -85,8 +87,10 @@ __initfunc(void eth_setup(char *str, int *ints))
}
d=d->next;
}
+ return 1;
}
+__setup("ether=", eth_setup);
/*
* Create the Ethernet MAC header for an arbitrary protocol layer
@@ -95,7 +99,7 @@ __initfunc(void eth_setup(char *str, int *ints))
* daddr=NULL means leave destination address (eg unresolved arp)
*/
-int eth_header(struct sk_buff *skb, struct device *dev, unsigned short type,
+int eth_header(struct sk_buff *skb, struct net_device *dev, unsigned short type,
void *daddr, void *saddr, unsigned len)
{
struct ethhdr *eth = (struct ethhdr *)skb_push(skb,ETH_HLEN);
@@ -151,7 +155,7 @@ int eth_header(struct sk_buff *skb, struct device *dev, unsigned short type,
int eth_rebuild_header(struct sk_buff *skb)
{
struct ethhdr *eth = (struct ethhdr *)skb->data;
- struct device *dev = skb->dev;
+ struct net_device *dev = skb->dev;
switch (eth->h_proto)
{
@@ -178,7 +182,7 @@ int eth_rebuild_header(struct sk_buff *skb)
* This is normal practice and works for any 'now in use' protocol.
*/
-unsigned short eth_type_trans(struct sk_buff *skb, struct device *dev)
+unsigned short eth_type_trans(struct sk_buff *skb, struct net_device *dev)
{
struct ethhdr *eth;
unsigned char *rawp;
@@ -240,7 +244,7 @@ int eth_header_cache(struct neighbour *neigh, struct hh_cache *hh)
{
unsigned short type = hh->hh_type;
struct ethhdr *eth = (struct ethhdr*)(((u8*)hh->hh_data) + 2);
- struct device *dev = neigh->dev;
+ struct net_device *dev = neigh->dev;
if (type == __constant_htons(ETH_P_802_3))
return -1;
@@ -256,7 +260,7 @@ int eth_header_cache(struct neighbour *neigh, struct hh_cache *hh)
* Called by Address Resolution module to notify changes in address.
*/
-void eth_header_cache_update(struct hh_cache *hh, struct device *dev, unsigned char * haddr)
+void eth_header_cache_update(struct hh_cache *hh, struct net_device *dev, unsigned char * haddr)
{
memcpy(((u8*)hh->hh_data) + 2, haddr, dev->addr_len);
}
diff --git a/net/ethernet/pe2.c b/net/ethernet/pe2.c
index 4915f0707..f245a8704 100644
--- a/net/ethernet/pe2.c
+++ b/net/ethernet/pe2.c
@@ -8,7 +8,7 @@ static void
pEII_datalink_header(struct datalink_proto *dl,
struct sk_buff *skb, unsigned char *dest_node)
{
- struct device *dev = skb->dev;
+ struct net_device *dev = skb->dev;
skb->protocol = htons (ETH_P_IPX);
if(dev->hard_header)