Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ecd68853 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
  [NET]: dev.c comment fixes
  [IPV6] ROUTE: Don't try less preferred routes for on-link routes.
  [IRDA]: *_DONGLE should depend on IRTTY_SIR
  [MAINTAINERS]: Add entry for netem
parents 087377a4 3041a069
Loading
Loading
Loading
Loading
+6 −0
Original line number Original line Diff line number Diff line
@@ -1899,6 +1899,12 @@ M: James.Bottomley@HansenPartnership.com
L:	linux-scsi@vger.kernel.org
L:	linux-scsi@vger.kernel.org
S:	Maintained
S:	Maintained


NETEM NETWORK EMULATOR
P:	Stephen Hemminger
M:	shemminger@osdl.org
L:	netem@osdl.org
S:	Maintained

NETFILTER/IPTABLES/IPCHAINS
NETFILTER/IPTABLES/IPCHAINS
P:	Rusty Russell
P:	Rusty Russell
P:	Marc Boucher
P:	Marc Boucher
+10 −10
Original line number Original line Diff line number Diff line
@@ -33,7 +33,7 @@ config DONGLE


config ESI_DONGLE
config ESI_DONGLE
	tristate "ESI JetEye PC dongle"
	tristate "ESI JetEye PC dongle"
	depends on DONGLE && IRDA
	depends on IRTTY_SIR && DONGLE && IRDA
	help
	help
	  Say Y here if you want to build support for the Extended Systems
	  Say Y here if you want to build support for the Extended Systems
	  JetEye PC dongle.  To compile it as a module, choose M here. The ESI
	  JetEye PC dongle.  To compile it as a module, choose M here. The ESI
@@ -44,7 +44,7 @@ config ESI_DONGLE


config ACTISYS_DONGLE
config ACTISYS_DONGLE
	tristate "ACTiSYS IR-220L and IR220L+ dongle"
	tristate "ACTiSYS IR-220L and IR220L+ dongle"
	depends on DONGLE && IRDA
	depends on IRTTY_SIR && DONGLE && IRDA
	help
	help
	  Say Y here if you want to build support for the ACTiSYS IR-220L and
	  Say Y here if you want to build support for the ACTiSYS IR-220L and
	  IR220L+ dongles.  To compile it as a module, choose M here. The
	  IR220L+ dongles.  To compile it as a module, choose M here. The
@@ -55,7 +55,7 @@ config ACTISYS_DONGLE


config TEKRAM_DONGLE
config TEKRAM_DONGLE
	tristate "Tekram IrMate 210B dongle"
	tristate "Tekram IrMate 210B dongle"
	depends on DONGLE && IRDA
	depends on IRTTY_SIR && DONGLE && IRDA
	help
	help
	  Say Y here if you want to build support for the Tekram IrMate 210B
	  Say Y here if you want to build support for the Tekram IrMate 210B
	  dongle.  To compile it as a module, choose M here. The Tekram dongle
	  dongle.  To compile it as a module, choose M here. The Tekram dongle
@@ -66,7 +66,7 @@ config TEKRAM_DONGLE


config TOIM3232_DONGLE
config TOIM3232_DONGLE
	tristate "TOIM3232 IrDa dongle"
	tristate "TOIM3232 IrDa dongle"
	depends on DONGLE && IRDA
	depends on IRTTY_SIR && DONGLE && IRDA
	help
	help
	  Say Y here if you want to build support for the Vishay/Temic
	  Say Y here if you want to build support for the Vishay/Temic
	  TOIM3232 and TOIM4232 based dongles.
	  TOIM3232 and TOIM4232 based dongles.
@@ -74,7 +74,7 @@ config TOIM3232_DONGLE


config LITELINK_DONGLE
config LITELINK_DONGLE
	tristate "Parallax LiteLink dongle"
	tristate "Parallax LiteLink dongle"
	depends on DONGLE && IRDA
	depends on IRTTY_SIR && DONGLE && IRDA
	help
	help
	  Say Y here if you want to build support for the Parallax Litelink
	  Say Y here if you want to build support for the Parallax Litelink
	  dongle.  To compile it as a module, choose M here.  The Parallax
	  dongle.  To compile it as a module, choose M here.  The Parallax
@@ -85,7 +85,7 @@ config LITELINK_DONGLE


config MA600_DONGLE
config MA600_DONGLE
	tristate "Mobile Action MA600 dongle"
	tristate "Mobile Action MA600 dongle"
	depends on DONGLE && IRDA && EXPERIMENTAL
	depends on IRTTY_SIR && DONGLE && IRDA && EXPERIMENTAL
	help
	help
	  Say Y here if you want to build support for the Mobile Action MA600
	  Say Y here if you want to build support for the Mobile Action MA600
	  dongle.  To compile it as a module, choose M here. The MA600 dongle
	  dongle.  To compile it as a module, choose M here. The MA600 dongle
@@ -98,7 +98,7 @@ config MA600_DONGLE


config GIRBIL_DONGLE
config GIRBIL_DONGLE
	tristate "Greenwich GIrBIL dongle"
	tristate "Greenwich GIrBIL dongle"
	depends on DONGLE && IRDA && EXPERIMENTAL
	depends on IRTTY_SIR && DONGLE && IRDA && EXPERIMENTAL
	help
	help
	  Say Y here if you want to build support for the Greenwich GIrBIL
	  Say Y here if you want to build support for the Greenwich GIrBIL
	  dongle.  If you want to compile it as a module, choose M here.
	  dongle.  If you want to compile it as a module, choose M here.
@@ -109,7 +109,7 @@ config GIRBIL_DONGLE


config MCP2120_DONGLE
config MCP2120_DONGLE
	tristate "Microchip MCP2120"
	tristate "Microchip MCP2120"
	depends on DONGLE && IRDA && EXPERIMENTAL
	depends on IRTTY_SIR && DONGLE && IRDA && EXPERIMENTAL
	help
	help
	  Say Y here if you want to build support for the Microchip MCP2120
	  Say Y here if you want to build support for the Microchip MCP2120
	  dongle.  If you want to compile it as a module, choose M here.
	  dongle.  If you want to compile it as a module, choose M here.
@@ -123,7 +123,7 @@ config MCP2120_DONGLE


config OLD_BELKIN_DONGLE
config OLD_BELKIN_DONGLE
	tristate "Old Belkin dongle"
	tristate "Old Belkin dongle"
	depends on DONGLE && IRDA && EXPERIMENTAL
	depends on IRTTY_SIR && DONGLE && IRDA && EXPERIMENTAL
	help
	help
	  Say Y here if you want to build support for the Adaptec Airport 1000
	  Say Y here if you want to build support for the Adaptec Airport 1000
	  and 2000 dongles.  If you want to compile it as a module, choose
	  and 2000 dongles.  If you want to compile it as a module, choose
@@ -132,7 +132,7 @@ config OLD_BELKIN_DONGLE


config ACT200L_DONGLE
config ACT200L_DONGLE
	tristate "ACTiSYS IR-200L dongle"
	tristate "ACTiSYS IR-200L dongle"
	depends on DONGLE && IRDA && EXPERIMENTAL
	depends on IRTTY_SIR && DONGLE && IRDA && EXPERIMENTAL
	help
	help
	  Say Y here if you want to build support for the ACTiSYS IR-200L
	  Say Y here if you want to build support for the ACTiSYS IR-200L
	  dongle. If you want to compile it as a module, choose M here.
	  dongle. If you want to compile it as a module, choose M here.
+11 −9
Original line number Original line Diff line number Diff line
@@ -127,7 +127,7 @@
 *             sure which should go first, but I bet it won't make much
 *             sure which should go first, but I bet it won't make much
 *             difference if we are running VLANs.  The good news is that
 *             difference if we are running VLANs.  The good news is that
 *             this protocol won't be in the list unless compiled in, so
 *             this protocol won't be in the list unless compiled in, so
 *             the average user (w/out VLANs) will not be adversly affected.
 *             the average user (w/out VLANs) will not be adversely affected.
 *             --BLG
 *             --BLG
 *
 *
 *		0800	IP
 *		0800	IP
@@ -149,7 +149,7 @@ static struct list_head ptype_base[16]; /* 16 way hashed list */
static struct list_head ptype_all;		/* Taps */
static struct list_head ptype_all;		/* Taps */


/*
/*
 * The @dev_base list is protected by @dev_base_lock and the rtln
 * The @dev_base list is protected by @dev_base_lock and the rtnl
 * semaphore.
 * semaphore.
 *
 *
 * Pure readers hold dev_base_lock for reading.
 * Pure readers hold dev_base_lock for reading.
@@ -641,10 +641,12 @@ int dev_valid_name(const char *name)
 *	@name: name format string
 *	@name: name format string
 *
 *
 *	Passed a format string - eg "lt%d" it will try and find a suitable
 *	Passed a format string - eg "lt%d" it will try and find a suitable
 *	id. Not efficient for many devices, not called a lot. The caller
 *	id. It scans list of devices to build up a free map, then chooses
 *	must hold the dev_base or rtnl lock while allocating the name and
 *	the first empty slot. The caller must hold the dev_base or rtnl lock
 *	adding the device in order to avoid duplicates. Returns the number
 *	while allocating the name and adding the device in order to avoid
 *	of the unit assigned or a negative errno code.
 *	duplicates.
 *	Limited to bits_per_byte * page size devices (ie 32K on most platforms).
 *	Returns the number of the unit assigned or a negative errno code.
 */
 */


int dev_alloc_name(struct net_device *dev, const char *name)
int dev_alloc_name(struct net_device *dev, const char *name)
@@ -744,7 +746,7 @@ int dev_change_name(struct net_device *dev, char *newname)
}
}


/**
/**
 *	netdev_features_change - device changes fatures
 *	netdev_features_change - device changes features
 *	@dev: device to cause notification
 *	@dev: device to cause notification
 *
 *
 *	Called to indicate a device has changed features.
 *	Called to indicate a device has changed features.
@@ -2196,7 +2198,7 @@ int netdev_set_master(struct net_device *slave, struct net_device *master)
 *	@dev: device
 *	@dev: device
 *	@inc: modifier
 *	@inc: modifier
 *
 *
 *	Add or remove promsicuity from a device. While the count in the device
 *	Add or remove promiscuity from a device. While the count in the device
 *	remains above zero the interface remains promiscuous. Once it hits zero
 *	remains above zero the interface remains promiscuous. Once it hits zero
 *	the device reverts back to normal filtering operation. A negative inc
 *	the device reverts back to normal filtering operation. A negative inc
 *	value is used to drop promiscuity on the device.
 *	value is used to drop promiscuity on the device.
@@ -3122,7 +3124,7 @@ EXPORT_SYMBOL(alloc_netdev);
void free_netdev(struct net_device *dev)
void free_netdev(struct net_device *dev)
{
{
#ifdef CONFIG_SYSFS
#ifdef CONFIG_SYSFS
	/*  Compatiablity with error handling in drivers */
	/*  Compatibility with error handling in drivers */
	if (dev->reg_state == NETREG_UNINITIALIZED) {
	if (dev->reg_state == NETREG_UNINITIALIZED) {
		kfree((char *)dev - dev->padded);
		kfree((char *)dev - dev->padded);
		return;
		return;
+11 −5
Original line number Original line Diff line number Diff line
@@ -280,10 +280,13 @@ static int inline rt6_check_neigh(struct rt6_info *rt)
{
{
	struct neighbour *neigh = rt->rt6i_nexthop;
	struct neighbour *neigh = rt->rt6i_nexthop;
	int m = 0;
	int m = 0;
	if (neigh) {
	if (rt->rt6i_flags & RTF_NONEXTHOP ||
	    !(rt->rt6i_flags & RTF_GATEWAY))
		m = 1;
	else if (neigh) {
		read_lock_bh(&neigh->lock);
		read_lock_bh(&neigh->lock);
		if (neigh->nud_state & NUD_VALID)
		if (neigh->nud_state & NUD_VALID)
			m = 1;
			m = 2;
		read_unlock_bh(&neigh->lock);
		read_unlock_bh(&neigh->lock);
	}
	}
	return m;
	return m;
@@ -292,15 +295,18 @@ static int inline rt6_check_neigh(struct rt6_info *rt)
static int rt6_score_route(struct rt6_info *rt, int oif,
static int rt6_score_route(struct rt6_info *rt, int oif,
			   int strict)
			   int strict)
{
{
	int m = rt6_check_dev(rt, oif);
	int m, n;
		
	m = rt6_check_dev(rt, oif);
	if (!m && (strict & RT6_SELECT_F_IFACE))
	if (!m && (strict & RT6_SELECT_F_IFACE))
		return -1;
		return -1;
#ifdef CONFIG_IPV6_ROUTER_PREF
#ifdef CONFIG_IPV6_ROUTER_PREF
	m |= IPV6_DECODE_PREF(IPV6_EXTRACT_PREF(rt->rt6i_flags)) << 2;
	m |= IPV6_DECODE_PREF(IPV6_EXTRACT_PREF(rt->rt6i_flags)) << 2;
#endif
#endif
	if (rt6_check_neigh(rt))
	n = rt6_check_neigh(rt);
	if (n > 1)
		m |= 16;
		m |= 16;
	else if (strict & RT6_SELECT_F_REACHABLE)
	else if (!n && strict & RT6_SELECT_F_REACHABLE)
		return -1;
		return -1;
	return m;
	return m;
}
}