Skip to content

Commit

Permalink
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Browse files Browse the repository at this point in the history
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (45 commits)
  [IPV4]: Restore multipath routing after rt_next changes.
  [XFRM] IPV6: Fix outbound RO transformation which is broken by IPsec tunnel patch.
  [NET]: Reorder fields of struct dst_entry
  [DECNET]: Convert decnet route to use the new dst_entry 'next' pointer
  [IPV6]: Convert ipv6 route to use the new dst_entry 'next' pointer
  [IPV4]: Convert ipv4 route to use the new dst_entry 'next' pointer
  [NET]: Introduce union in struct dst_entry to hold 'next' pointer
  [DECNET]: fix misannotation of linkinfo_dn
  [DECNET]: FRA_{DST,SRC} are le16 for decnet
  [UDP]: UDP can use sk_hash to speedup lookups
  [NET]: Fix whitespace errors.
  [NET] XFRM: Fix whitespace errors.
  [NET] X25: Fix whitespace errors.
  [NET] WANROUTER: Fix whitespace errors.
  [NET] UNIX: Fix whitespace errors.
  [NET] TIPC: Fix whitespace errors.
  [NET] SUNRPC: Fix whitespace errors.
  [NET] SCTP: Fix whitespace errors.
  [NET] SCHED: Fix whitespace errors.
  [NET] RXRPC: Fix whitespace errors.
  ...
  • Loading branch information
Linus Torvalds committed Feb 11, 2007
2 parents c827ba4 + 5ef213f commit cb18ecc
Show file tree
Hide file tree
Showing 539 changed files with 9,052 additions and 9,047 deletions.
5 changes: 2 additions & 3 deletions include/net/dn_route.h
Original file line number Diff line number Diff line change
Expand Up @@ -68,9 +68,10 @@ extern void dn_rt_cache_flush(int delay);
struct dn_route {
union {
struct dst_entry dst;
struct dn_route *rt_next;
} u;

struct flowi fl;

__le16 rt_saddr;
__le16 rt_daddr;
__le16 rt_gateway;
Expand All @@ -80,8 +81,6 @@ struct dn_route {

unsigned rt_flags;
unsigned rt_type;

struct flowi fl;
};

extern void dn_route_init(void);
Expand Down
15 changes: 10 additions & 5 deletions include/net/dst.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,7 @@ struct sk_buff;

struct dst_entry
{
struct dst_entry *next;
atomic_t __refcnt; /* client references */
int __use;
struct rcu_head rcu_head;
struct dst_entry *child;
struct net_device *dev;
short error;
Expand All @@ -50,7 +48,6 @@ struct dst_entry
#define DST_NOPOLICY 4
#define DST_NOHASH 8
#define DST_BALANCED 0x10
unsigned long lastuse;
unsigned long expires;

unsigned short header_len; /* more space at head required */
Expand All @@ -75,8 +72,16 @@ struct dst_entry
#endif

struct dst_ops *ops;
struct rcu_head rcu_head;

unsigned long lastuse;
atomic_t __refcnt; /* client references */
int __use;
union {
struct dst_entry *next;
struct rtable *rt_next;
struct rt6_info *rt6_next;
struct dn_route *dn_next;
};
char info[0];
};

Expand Down
1 change: 0 additions & 1 deletion include/net/ip6_fib.h
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,6 @@ struct rt6_info
{
union {
struct dst_entry dst;
struct rt6_info *next;
} u;

struct inet6_dev *rt6i_idev;
Expand Down
7 changes: 3 additions & 4 deletions include/net/route.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,11 @@ struct rtable
union
{
struct dst_entry dst;
struct rtable *rt_next;
} u;

/* Cache lookup keys */
struct flowi fl;

struct in_device *idev;

unsigned rt_flags;
Expand All @@ -69,9 +71,6 @@ struct rtable
/* Info on neighbour */
__be32 rt_gateway;

/* Cache lookup keys */
struct flowi fl;

/* Miscellaneous cached information */
__be32 rt_spec_dst; /* RFC1122 specific destination */
struct inet_peer *peer; /* long-living peer info */
Expand Down
24 changes: 12 additions & 12 deletions net/802/fc.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
* NET3: Fibre Channel device handling subroutines
*
*
* 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
Expand Down Expand Up @@ -31,18 +31,18 @@
#include <net/arp.h>

/*
* Put the headers on a Fibre Channel packet.
* Put the headers on a Fibre Channel packet.
*/

static int fc_header(struct sk_buff *skb, struct net_device *dev,
unsigned short type,
void *daddr, void *saddr, unsigned len)
void *daddr, void *saddr, unsigned len)
{
struct fch_hdr *fch;
int hdr_len;

/*
* Add the 802.2 SNAP header if IP as the IPv4 code calls
/*
* Add the 802.2 SNAP header if IP as the IPv4 code calls
* dev->hard_header directly.
*/
if (type == ETH_P_IP || type == ETH_P_ARP)
Expand All @@ -60,28 +60,28 @@ static int fc_header(struct sk_buff *skb, struct net_device *dev,
else
{
hdr_len = sizeof(struct fch_hdr);
fch = (struct fch_hdr *)skb_push(skb, hdr_len);
fch = (struct fch_hdr *)skb_push(skb, hdr_len);
}

if(saddr)
memcpy(fch->saddr,saddr,dev->addr_len);
else
memcpy(fch->saddr,dev->dev_addr,dev->addr_len);

if(daddr)
if(daddr)
{
memcpy(fch->daddr,daddr,dev->addr_len);
return(hdr_len);
}
return -hdr_len;
}

/*
* A neighbour discovery of some species (eg arp) has completed. We
* can now send the packet.
*/
static int fc_rebuild_header(struct sk_buff *skb)

static int fc_rebuild_header(struct sk_buff *skb)
{
struct fch_hdr *fch=(struct fch_hdr *)skb->data;
struct fcllc *fcllc=(struct fcllc *)(skb->data+sizeof(struct fch_hdr));
Expand All @@ -100,7 +100,7 @@ static void fc_setup(struct net_device *dev)
{
dev->hard_header = fc_header;
dev->rebuild_header = fc_rebuild_header;

dev->type = ARPHRD_IEEE802;
dev->hard_header_len = FC_HLEN;
dev->mtu = 2024;
Expand Down
26 changes: 13 additions & 13 deletions net/802/fddi.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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>
Expand Down Expand Up @@ -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);
Expand All @@ -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
Expand All @@ -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;
Expand All @@ -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));
Expand All @@ -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);
Expand All @@ -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))
Expand Down Expand Up @@ -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);
}

Expand Down
20 changes: 10 additions & 10 deletions net/802/hippi.c
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
#include <asm/system.h>

/*
* Create the HIPPI MAC header for an arbitrary protocol layer
* Create the HIPPI MAC header for an arbitrary protocol layer
*
* saddr=NULL means use device source address
* daddr=NULL means leave destination address (eg unresolved arp)
Expand Down Expand Up @@ -104,8 +104,8 @@ static int hippi_rebuild_header(struct sk_buff *skb)
/*
* Only IP is currently supported
*/
if(hip->snap.ethertype != __constant_htons(ETH_P_IP))

if(hip->snap.ethertype != __constant_htons(ETH_P_IP))
{
printk(KERN_DEBUG "%s: unable to resolve type %X addresses.\n",skb->dev->name,ntohs(hip->snap.ethertype));
return 0;
Expand All @@ -122,11 +122,11 @@ static int hippi_rebuild_header(struct sk_buff *skb)
/*
* Determine the packet's protocol ID.
*/

__be16 hippi_type_trans(struct sk_buff *skb, struct net_device *dev)
{
struct hippi_hdr *hip;

hip = (struct hippi_hdr *) skb->data;

/*
Expand Down Expand Up @@ -173,10 +173,10 @@ static int hippi_neigh_setup_dev(struct net_device *dev, struct neigh_parms *p)
{
/* Never send broadcast/multicast ARP messages */
p->mcast_probes = 0;

/* In IPv6 unicast probes are valid even on NBMA,
* because they are encapsulated in normal IPv6 protocol.
* Should be a generic flag.
* Should be a generic flag.
*/
if (p->tbl->family != AF_INET6)
p->ucast_probes = 0;
Expand All @@ -193,7 +193,7 @@ static void hippi_setup(struct net_device *dev)
dev->hard_header_parse = NULL;
dev->hard_header_cache = NULL;
dev->header_cache_update = NULL;
dev->neigh_setup = hippi_neigh_setup_dev;
dev->neigh_setup = hippi_neigh_setup_dev;

/*
* We don't support HIPPI `ARP' for the time being, and probably
Expand All @@ -210,9 +210,9 @@ static void hippi_setup(struct net_device *dev)

/*
* HIPPI doesn't support broadcast+multicast and we only use
* static ARP tables. ARP is disabled by hippi_neigh_setup_dev.
* static ARP tables. ARP is disabled by hippi_neigh_setup_dev.
*/
dev->flags = 0;
dev->flags = 0;
}

/**
Expand Down
2 changes: 1 addition & 1 deletion net/802/psnap.c
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ module_exit(snap_exit);
*/
struct datalink_proto *register_snap_client(unsigned char *desc,
int (*rcvfunc)(struct sk_buff *,
struct net_device *,
struct net_device *,
struct packet_type *,
struct net_device *))
{
Expand Down
Loading

0 comments on commit cb18ecc

Please sign in to comment.