forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: YOSHIFUJI Hideaki <[email protected]> Signed-off-by: David S. Miller <[email protected]>
- Loading branch information
Showing
5 changed files
with
104 additions
and
104 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,7 +15,7 @@ | |
* Mark Evans, <[email protected]> | ||
* Florian La Roche, <[email protected]> | ||
* Alan Cox, <[email protected]> | ||
* | ||
* | ||
* This program is free software; you can redistribute it and/or | ||
* modify it under the terms of the GNU General Public License | ||
* as published by the Free Software Foundation; either version | ||
|
@@ -25,7 +25,7 @@ | |
* Alan Cox : New arp/rebuild header | ||
* Maciej W. Rozycki : IPv6 support | ||
*/ | ||
|
||
#include <linux/module.h> | ||
#include <asm/system.h> | ||
#include <linux/types.h> | ||
|
@@ -57,7 +57,7 @@ static int fddi_header(struct sk_buff *skb, struct net_device *dev, | |
{ | ||
int hl = FDDI_K_SNAP_HLEN; | ||
struct fddihdr *fddi; | ||
|
||
if(type != ETH_P_IP && type != ETH_P_IPV6 && type != ETH_P_ARP) | ||
hl=FDDI_K_8022_HLEN-3; | ||
fddi = (struct fddihdr *)skb_push(skb, hl); | ||
|
@@ -74,7 +74,7 @@ static int fddi_header(struct sk_buff *skb, struct net_device *dev, | |
} | ||
|
||
/* Set the source and destination hardware addresses */ | ||
|
||
if (saddr != NULL) | ||
memcpy(fddi->saddr, saddr, dev->addr_len); | ||
else | ||
|
@@ -95,7 +95,7 @@ static int fddi_header(struct sk_buff *skb, struct net_device *dev, | |
* (or in future other address resolution) has completed on | ||
* this sk_buff. We now let ARP fill in the other fields. | ||
*/ | ||
|
||
static int fddi_rebuild_header(struct sk_buff *skb) | ||
{ | ||
struct fddihdr *fddi = (struct fddihdr *)skb->data; | ||
|
@@ -105,7 +105,7 @@ static int fddi_rebuild_header(struct sk_buff *skb) | |
/* Try to get ARP to resolve the header and fill destination address */ | ||
return arp_find(fddi->daddr, skb); | ||
else | ||
#endif | ||
#endif | ||
{ | ||
printk("%s: Don't know how to resolve type %04X addresses.\n", | ||
skb->dev->name, ntohs(fddi->hdr.llc_snap.ethertype)); | ||
|
@@ -120,19 +120,19 @@ static int fddi_rebuild_header(struct sk_buff *skb) | |
* up. It's used to fill in specific skb fields and to set | ||
* the proper pointer to the start of packet data (skb->data). | ||
*/ | ||
|
||
__be16 fddi_type_trans(struct sk_buff *skb, struct net_device *dev) | ||
{ | ||
struct fddihdr *fddi = (struct fddihdr *)skb->data; | ||
__be16 type; | ||
|
||
/* | ||
* Set mac.raw field to point to FC byte, set data field to point | ||
* to start of packet data. Assume 802.2 SNAP frames for now. | ||
*/ | ||
|
||
skb->mac.raw = skb->data; /* point to frame control (FC) */ | ||
|
||
if(fddi->hdr.llc_8022_1.dsap==0xe0) | ||
{ | ||
skb_pull(skb, FDDI_K_8022_HLEN-3); | ||
|
@@ -143,17 +143,17 @@ __be16 fddi_type_trans(struct sk_buff *skb, struct net_device *dev) | |
skb_pull(skb, FDDI_K_SNAP_HLEN); /* adjust for 21 byte header */ | ||
type=fddi->hdr.llc_snap.ethertype; | ||
} | ||
|
||
/* Set packet type based on destination address and flag settings */ | ||
|
||
if (*fddi->daddr & 0x01) | ||
{ | ||
if (memcmp(fddi->daddr, dev->broadcast, FDDI_K_ALEN) == 0) | ||
skb->pkt_type = PACKET_BROADCAST; | ||
else | ||
skb->pkt_type = PACKET_MULTICAST; | ||
} | ||
|
||
else if (dev->flags & IFF_PROMISC) | ||
{ | ||
if (memcmp(fddi->daddr, dev->dev_addr, FDDI_K_ALEN)) | ||
|
@@ -187,7 +187,7 @@ static void fddi_setup(struct net_device *dev) | |
dev->addr_len = FDDI_K_ALEN; | ||
dev->tx_queue_len = 100; /* Long queues on FDDI */ | ||
dev->flags = IFF_BROADCAST | IFF_MULTICAST; | ||
|
||
memset(dev->broadcast, 0xFF, FDDI_K_ALEN); | ||
} | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.