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

Commit a5b17df0 authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 'upstream-next-davem' of...

Merge branch 'upstream-next-davem' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
parents b79eeeb9 c03571a3
Loading
Loading
Loading
Loading
+67 −29
Original line number Original line Diff line number Diff line
@@ -289,35 +289,73 @@ downdelay
fail_over_mac
fail_over_mac


	Specifies whether active-backup mode should set all slaves to
	Specifies whether active-backup mode should set all slaves to
	the same MAC address (the traditional behavior), or, when
	the same MAC address at enslavement (the traditional
	enabled, change the bond's MAC address when changing the
	behavior), or, when enabled, perform special handling of the
	active interface (i.e., fail over the MAC address itself).
	bond's MAC address in accordance with the selected policy.


	Fail over MAC is useful for devices that cannot ever alter
	Possible values are:
	their MAC address, or for devices that refuse incoming

	broadcasts with their own source MAC (which interferes with
	none or 0
	the ARP monitor).


		This setting disables fail_over_mac, and causes
	The down side of fail over MAC is that every device on the
		bonding to set all slaves of an active-backup bond to
	network must be updated via gratuitous ARP, vs. just updating
		the same MAC address at enslavement time.  This is the
	a switch or set of switches (which often takes place for any
		default.
	traffic, not just ARP traffic, if the switch snoops incoming

	traffic to update its tables) for the traditional method.  If
	active or 1
	the gratuitous ARP is lost, communication may be disrupted.


		The "active" fail_over_mac policy indicates that the
	When fail over MAC is used in conjuction with the mii monitor,
		MAC address of the bond should always be the MAC
	devices which assert link up prior to being able to actually
		address of the currently active slave.  The MAC
	transmit and receive are particularly susecptible to loss of
		address of the slaves is not changed; instead, the MAC
	the gratuitous ARP, and an appropriate updelay setting may be
		address of the bond changes during a failover.
	required.


		This policy is useful for devices that cannot ever
	A value of 0 disables fail over MAC, and is the default.  A
		alter their MAC address, or for devices that refuse
	value of 1 enables fail over MAC.  This option is enabled
		incoming broadcasts with their own source MAC (which
	automatically if the first slave added cannot change its MAC
		interferes with the ARP monitor).
	address.  This option may be modified via sysfs only when no

	slaves are present in the bond.
		The down side of this policy is that every device on

		the network must be updated via gratuitous ARP,
	This option was added in bonding version 3.2.0.
		vs. just updating a switch or set of switches (which
		often takes place for any traffic, not just ARP
		traffic, if the switch snoops incoming traffic to
		update its tables) for the traditional method.  If the
		gratuitous ARP is lost, communication may be
		disrupted.

		When this policy is used in conjuction with the mii
		monitor, devices which assert link up prior to being
		able to actually transmit and receive are particularly
		susecptible to loss of the gratuitous ARP, and an
		appropriate updelay setting may be required.

	follow or 2

		The "follow" fail_over_mac policy causes the MAC
		address of the bond to be selected normally (normally
		the MAC address of the first slave added to the bond).
		However, the second and subsequent slaves are not set
		to this MAC address while they are in a backup role; a
		slave is programmed with the bond's MAC address at
		failover time (and the formerly active slave receives
		the newly active slave's MAC address).

		This policy is useful for multiport devices that
		either become confused or incur a performance penalty
		when multiple ports are programmed with the same MAC
		address.


	The default policy is none, unless the first slave cannot
	change its MAC address, in which case the active policy is
	selected by default.

	This option may be modified via sysfs only when no slaves are
	present in the bond.

	This option was added in bonding version 3.2.0.  The "follow"
	policy was added in bonding version 3.3.0.


lacp_rate
lacp_rate


+7 −8
Original line number Original line Diff line number Diff line
@@ -413,7 +413,7 @@ static int __devinit el3_pnp_probe(struct pnp_dev *pdev,
{
{
	short i;
	short i;
	int ioaddr, irq, if_port;
	int ioaddr, irq, if_port;
	u16 phys_addr[3];
	__be16 phys_addr[3];
	struct net_device *dev = NULL;
	struct net_device *dev = NULL;
	int err;
	int err;


@@ -605,7 +605,7 @@ static int __init el3_mca_probe(struct device *device)


	short i;
	short i;
	int ioaddr, irq, if_port;
	int ioaddr, irq, if_port;
	u16 phys_addr[3];
	__be16 phys_addr[3];
	struct net_device *dev = NULL;
	struct net_device *dev = NULL;
	u_char pos4, pos5;
	u_char pos4, pos5;
	struct mca_device *mdev = to_mca_device(device);
	struct mca_device *mdev = to_mca_device(device);
@@ -635,9 +635,8 @@ static int __init el3_mca_probe(struct device *device)
			printk(KERN_DEBUG "3c529: irq %d  ioaddr 0x%x  ifport %d\n", irq, ioaddr, if_port);
			printk(KERN_DEBUG "3c529: irq %d  ioaddr 0x%x  ifport %d\n", irq, ioaddr, if_port);
	}
	}
	EL3WINDOW(0);
	EL3WINDOW(0);
	for (i = 0; i < 3; i++) {
	for (i = 0; i < 3; i++)
		phys_addr[i] = htons(read_eeprom(ioaddr, i));
		phys_addr[i] = htons(read_eeprom(ioaddr, i));
	}


	dev = alloc_etherdev(sizeof (struct el3_private));
	dev = alloc_etherdev(sizeof (struct el3_private));
	if (dev == NULL) {
	if (dev == NULL) {
@@ -668,7 +667,7 @@ static int __init el3_eisa_probe (struct device *device)
{
{
	short i;
	short i;
	int ioaddr, irq, if_port;
	int ioaddr, irq, if_port;
	u16 phys_addr[3];
	__be16 phys_addr[3];
	struct net_device *dev = NULL;
	struct net_device *dev = NULL;
	struct eisa_device *edev;
	struct eisa_device *edev;
	int err;
	int err;
+4 −0
Original line number Original line Diff line number Diff line
@@ -572,12 +572,16 @@ static int corkscrew_setup(struct net_device *dev, int ioaddr,
	int irq;
	int irq;
	DECLARE_MAC_BUF(mac);
	DECLARE_MAC_BUF(mac);


#ifdef __ISAPNP__
	if (idev) {
	if (idev) {
		irq = pnp_irq(idev, 0);
		irq = pnp_irq(idev, 0);
		vp->dev = &idev->dev;
		vp->dev = &idev->dev;
	} else {
	} else {
		irq = inw(ioaddr + 0x2002) & 15;
		irq = inw(ioaddr + 0x2002) & 15;
	}
	}
#else
	irq = inw(ioaddr + 0x2002) & 15;
#endif


	dev->base_addr = ioaddr;
	dev->base_addr = ioaddr;
	dev->irq = irq;
	dev->irq = irq;
+1 −0
Original line number Original line Diff line number Diff line
@@ -2410,6 +2410,7 @@ config CHELSIO_T3
	tristate "Chelsio Communications T3 10Gb Ethernet support"
	tristate "Chelsio Communications T3 10Gb Ethernet support"
	depends on PCI
	depends on PCI
	select FW_LOADER
	select FW_LOADER
	select INET_LRO
	help
	help
	  This driver supports Chelsio T3-based gigabit and 10Gb Ethernet
	  This driver supports Chelsio T3-based gigabit and 10Gb Ethernet
	  adapters.
	  adapters.
+3 −2
Original line number Original line Diff line number Diff line
@@ -1876,7 +1876,8 @@ static u16 atl1_alloc_rx_buffers(struct atl1_adapter *adapter)


		rfd_desc = ATL1_RFD_DESC(rfd_ring, rfd_next_to_use);
		rfd_desc = ATL1_RFD_DESC(rfd_ring, rfd_next_to_use);


		skb = dev_alloc_skb(adapter->rx_buffer_len + NET_IP_ALIGN);
		skb = netdev_alloc_skb(adapter->netdev,
				       adapter->rx_buffer_len + NET_IP_ALIGN);
		if (unlikely(!skb)) {
		if (unlikely(!skb)) {
			/* Better luck next round */
			/* Better luck next round */
			adapter->net_stats.rx_dropped++;
			adapter->net_stats.rx_dropped++;
@@ -2135,7 +2136,7 @@ static int atl1_tso(struct atl1_adapter *adapter, struct sk_buff *skb,
				return -1;
				return -1;
		}
		}


		if (skb->protocol == ntohs(ETH_P_IP)) {
		if (skb->protocol == htons(ETH_P_IP)) {
			struct iphdr *iph = ip_hdr(skb);
			struct iphdr *iph = ip_hdr(skb);


			real_len = (((unsigned char *)iph - skb->data) +
			real_len = (((unsigned char *)iph - skb->data) +
Loading