-diff -r 8e9d114ca60a drivers/net/bonding/bond_alb.c
---- a/drivers/net/bonding/bond_alb.c Wed Feb 11 15:53:37 2009 +0000
-+++ b/drivers/net/bonding/bond_alb.c Wed Feb 11 16:10:09 2009 +0000
+Index: linux-2.6.27/drivers/net/bonding/bond_alb.c
+===================================================================
+--- linux-2.6.27.orig/drivers/net/bonding/bond_alb.c 2009-11-17 09:34:31.000000000 +0000
++++ linux-2.6.27/drivers/net/bonding/bond_alb.c 2009-11-17 09:35:07.000000000 +0000
@@ -34,6 +34,7 @@
#include <linux/if_arp.h>
#include <linux/if_ether.h>
}
read_unlock(&bond->curr_slave_lock);
-@@ -1574,6 +1630,15 @@
- tlb_clear_slave(bond, slave, 0);
+@@ -1575,6 +1631,15 @@
if (bond->alb_info.rlb_enabled) {
rlb_clear_slave(bond, slave);
-+ }
+ }
+ if (bond->alb_info.slb_enabled) {
+ /*
+ * The receive path for any MAC addresses
+ * will cause the switch to update its tables.
+ */
+ br_send_gratuitous_switch_learning_packet(bond->dev);
- }
++ }
} else if (link == BOND_LINK_UP) {
/* order a rebalance ASAP */
-diff -r 8e9d114ca60a drivers/net/bonding/bond_alb.h
---- a/drivers/net/bonding/bond_alb.h Wed Feb 11 15:53:37 2009 +0000
-+++ b/drivers/net/bonding/bond_alb.h Wed Feb 11 16:10:09 2009 +0000
+ bond_info->tx_rebalance_counter = BOND_TLB_REBALANCE_TICKS;
+Index: linux-2.6.27/drivers/net/bonding/bond_alb.h
+===================================================================
+--- linux-2.6.27.orig/drivers/net/bonding/bond_alb.h 2009-11-17 09:32:38.000000000 +0000
++++ linux-2.6.27/drivers/net/bonding/bond_alb.h 2009-11-17 09:35:07.000000000 +0000
@@ -90,6 +90,8 @@
u32 unbalanced_load;
int tx_rebalance_counter;
void bond_alb_deinitialize(struct bonding *bond);
int bond_alb_init_slave(struct bonding *bond, struct slave *slave);
void bond_alb_deinit_slave(struct bonding *bond, struct slave *slave);
-diff -r 8e9d114ca60a drivers/net/bonding/bond_main.c
---- a/drivers/net/bonding/bond_main.c Wed Feb 11 15:53:37 2009 +0000
-+++ b/drivers/net/bonding/bond_main.c Wed Feb 11 16:10:09 2009 +0000
+Index: linux-2.6.27/drivers/net/bonding/bond_main.c
+===================================================================
+--- linux-2.6.27.orig/drivers/net/bonding/bond_main.c 2009-11-17 09:34:30.000000000 +0000
++++ linux-2.6.27/drivers/net/bonding/bond_main.c 2009-11-17 09:35:59.000000000 +0000
@@ -121,7 +121,7 @@
MODULE_PARM_DESC(mode, "Mode of operation : 0 for balance-rr, "
"1 for active-backup, 2 for balance-xor, "
}
static void bond_info_show_slave(struct seq_file *seq, const struct slave *slave)
-@@ -3760,11 +3778,12 @@
+@@ -3775,11 +3793,12 @@
bond->kill_timers = 0;
if ((bond->params.mode == BOND_MODE_TLB) ||
/* something went wrong - fail the open operation */
return -1;
}
-@@ -3844,7 +3863,8 @@
+@@ -3851,6 +3870,7 @@
+ break;
+ case BOND_MODE_TLB:
+ case BOND_MODE_ALB:
++ case BOND_MODE_SLB:
+ cancel_delayed_work(&bond->alb_work);
+ break;
+ default:
+@@ -3859,7 +3879,8 @@
if ((bond->params.mode == BOND_MODE_TLB) ||
/* Must be called only after all
* slaves have been released
*/
-@@ -3897,6 +3908,7 @@
- break;
- case BOND_MODE_TLB:
- case BOND_MODE_ALB:
-+ case BOND_MODE_SLB:
- cancel_delayed_work(&bond->alb_work);
- break;
- default:
-@@ -4472,6 +4492,7 @@
+@@ -4487,6 +4508,7 @@
case BOND_MODE_ALB:
bond_set_master_alb_flags(bond);
/* FALLTHRU */
case BOND_MODE_TLB:
bond_dev->hard_start_xmit = bond_alb_xmit;
bond_dev->set_mac_address = bond_alb_set_mac_address;
-diff -r 8e9d114ca60a drivers/net/bonding/bond_sysfs.c
---- a/drivers/net/bonding/bond_sysfs.c Wed Feb 11 15:53:37 2009 +0000
-+++ b/drivers/net/bonding/bond_sysfs.c Wed Feb 11 16:10:09 2009 +0000
+Index: linux-2.6.27/drivers/net/bonding/bond_sysfs.c
+===================================================================
+--- linux-2.6.27.orig/drivers/net/bonding/bond_sysfs.c 2009-11-17 09:34:38.000000000 +0000
++++ linux-2.6.27/drivers/net/bonding/bond_sysfs.c 2009-11-17 09:35:07.000000000 +0000
@@ -423,7 +423,7 @@
if (bond->params.mode == BOND_MODE_8023AD)
bond_unset_master_3ad_flags(bond);
bond_unset_master_alb_flags(bond);
bond->params.mode = new_value;
-diff -r 8e9d114ca60a drivers/net/bonding/bonding.h
---- a/drivers/net/bonding/bonding.h Wed Feb 11 15:53:37 2009 +0000
-+++ b/drivers/net/bonding/bonding.h Wed Feb 11 16:10:10 2009 +0000
+Index: linux-2.6.27/drivers/net/bonding/bonding.h
+===================================================================
+--- linux-2.6.27.orig/drivers/net/bonding/bonding.h 2009-11-17 09:34:30.000000000 +0000
++++ linux-2.6.27/drivers/net/bonding/bonding.h 2009-11-17 09:35:07.000000000 +0000
@@ -65,7 +65,8 @@
#define USES_PRIMARY(mode) \
(((mode) == BOND_MODE_ACTIVEBACKUP) || \
/*
* Less bad way to call ioctl from within the kernel; this needs to be
-@@ -277,7 +278,8 @@
+@@ -283,7 +284,8 @@
{
struct bonding *bond = slave->dev->master->priv;
if (bond->params.mode != BOND_MODE_TLB &&
slave->state = BOND_STATE_BACKUP;
slave->dev->priv_flags |= IFF_SLAVE_INACTIVE;
if (slave_do_arp_validate(bond, slave))
-diff -r 8e9d114ca60a include/linux/if_bonding.h
---- a/include/linux/if_bonding.h Wed Feb 11 15:53:37 2009 +0000
-+++ b/include/linux/if_bonding.h Wed Feb 11 16:10:10 2009 +0000
+Index: linux-2.6.27/include/linux/if_bonding.h
+===================================================================
+--- linux-2.6.27.orig/include/linux/if_bonding.h 2009-11-17 09:32:57.000000000 +0000
++++ linux-2.6.27/include/linux/if_bonding.h 2009-11-17 09:35:07.000000000 +0000
@@ -70,6 +70,7 @@
#define BOND_MODE_8023AD 4
#define BOND_MODE_TLB 5
/* each slave's link has 4 states */
#define BOND_LINK_UP 0 /* link is up and running */
-diff -r 8e9d114ca60a include/linux/if_bridge.h
---- a/include/linux/if_bridge.h Wed Feb 11 15:53:37 2009 +0000
-+++ b/include/linux/if_bridge.h Wed Feb 11 16:10:10 2009 +0000
+Index: linux-2.6.27/include/linux/if_bridge.h
+===================================================================
+--- linux-2.6.27.orig/include/linux/if_bridge.h 2009-11-17 09:34:38.000000000 +0000
++++ linux-2.6.27/include/linux/if_bridge.h 2009-11-17 09:35:07.000000000 +0000
@@ -111,6 +111,8 @@
extern struct net_device *br_locate_physical_device(struct net_device *dev);
#endif
#endif
-diff -r 8e9d114ca60a net/bridge/br_if.c
---- a/net/bridge/br_if.c Wed Feb 11 15:53:37 2009 +0000
-+++ b/net/bridge/br_if.c Wed Feb 11 16:10:10 2009 +0000
+Index: linux-2.6.27/net/bridge/br_if.c
+===================================================================
+--- linux-2.6.27.orig/net/bridge/br_if.c 2009-11-17 09:34:38.000000000 +0000
++++ linux-2.6.27/net/bridge/br_if.c 2009-11-17 09:35:07.000000000 +0000
@@ -281,6 +281,80 @@
}
EXPORT_SYMBOL(br_locate_physical_device);
-diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig
-index ed4b89b..44c4052 100644
---- a/drivers/xen/Kconfig
-+++ b/drivers/xen/Kconfig
-@@ -262,6 +262,8 @@ config XEN_ACPI_WMI_WRAPPER
+Index: linux-2.6.27/drivers/xen/Kconfig
+===================================================================
+--- linux-2.6.27.orig/drivers/xen/Kconfig 2009-11-17 09:45:03.000000000 +0000
++++ linux-2.6.27/drivers/xen/Kconfig 2009-11-17 09:45:07.000000000 +0000
+@@ -325,6 +325,8 @@
Facilitates OEM specific hotkey implementation within
guest space.
choice
prompt "Xen version compatibility"
default XEN_COMPAT_030002_AND_LATER
-diff --git a/drivers/xen/Makefile b/drivers/xen/Makefile
-index 873e5a3..408e7eb 100644
---- a/drivers/xen/Makefile
-+++ b/drivers/xen/Makefile
-@@ -31,3 +31,4 @@ obj-$(CONFIG_XEN_NETDEV_ACCEL_SFC_UTIL) += sfc_netutil/
- obj-$(CONFIG_XEN_NETDEV_ACCEL_SFC_FRONTEND) += sfc_netfront/
+Index: linux-2.6.27/drivers/xen/Makefile
+===================================================================
+--- linux-2.6.27.orig/drivers/xen/Makefile 2009-11-17 09:45:03.000000000 +0000
++++ linux-2.6.27/drivers/xen/Makefile 2009-11-17 09:45:22.000000000 +0000
+@@ -32,3 +32,4 @@
obj-$(CONFIG_XEN_NETDEV_ACCEL_SFC_BACKEND) += sfc_netback/
obj-$(CONFIG_XEN_ACPI_WMI_WRAPPER) += acpi-wmi/
+ obj-$(CONFIG_XEN_NETCHANNEL2) += netchannel2/
+obj-$(CONFIG_XEN_V2V) += v2v/
-diff --git a/drivers/xen/v2v/Kconfig b/drivers/xen/v2v/Kconfig
-new file mode 100644
-index 0000000..5966234
---- /dev/null
-+++ b/drivers/xen/v2v/Kconfig
+Index: linux-2.6.27/drivers/xen/v2v/Kconfig
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.27/drivers/xen/v2v/Kconfig 2009-11-17 09:45:07.000000000 +0000
@@ -0,0 +1,24 @@
+#
+# This Kconfig describe xen v2v options
+ default n
+ help
+ Sample for Xen V2V interdomain communication services.
-diff --git a/drivers/xen/v2v/Makefile b/drivers/xen/v2v/Makefile
-new file mode 100644
-index 0000000..f3442d9
---- /dev/null
-+++ b/drivers/xen/v2v/Makefile
+Index: linux-2.6.27/drivers/xen/v2v/Makefile
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.27/drivers/xen/v2v/Makefile 2009-11-17 09:45:07.000000000 +0000
@@ -0,0 +1,8 @@
+obj-y += v2v.o v2vutl.o
+
+v2vdrv-objs += v2vsamp.o v2vops.o
+
+ccflags-$(CONFIG_XEN_V2V_DEBUG) += -DDEBUG
-diff --git a/drivers/xen/v2v/v2v.c b/drivers/xen/v2v/v2v.c
-new file mode 100644
-index 0000000..39488f8
---- /dev/null
-+++ b/drivers/xen/v2v/v2v.c
+Index: linux-2.6.27/drivers/xen/v2v/v2v.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.27/drivers/xen/v2v/v2v.c 2009-11-17 09:45:07.000000000 +0000
@@ -0,0 +1,1502 @@
+/******************************************************************************
+ * drivers/xen/v2v/v2v.c
+
+MODULE_LICENSE("Dual BSD/GPL");
+
-diff --git a/drivers/xen/v2v/v2v_private.h b/drivers/xen/v2v/v2v_private.h
-new file mode 100644
-index 0000000..c623a2d
---- /dev/null
-+++ b/drivers/xen/v2v/v2v_private.h
+Index: linux-2.6.27/drivers/xen/v2v/v2v_private.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.27/drivers/xen/v2v/v2v_private.h 2009-11-17 09:45:07.000000000 +0000
@@ -0,0 +1,83 @@
+/******************************************************************************
+ * drivers/xen/v2v/v2v_private.h
+ printk(KERN_ERR "v2v: " fmt, ##args)
+
+#endif /* !V2V_PRIVATE_H__ */
-diff --git a/drivers/xen/v2v/v2vsamp.c b/drivers/xen/v2v/v2vsamp.c
-new file mode 100644
-index 0000000..0c362bb
---- /dev/null
-+++ b/drivers/xen/v2v/v2vsamp.c
+Index: linux-2.6.27/drivers/xen/v2v/v2vsamp.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.27/drivers/xen/v2v/v2vsamp.c 2009-11-17 09:45:07.000000000 +0000
@@ -0,0 +1,369 @@
+/******************************************************************************
+ * drivers/xen/v2v/v2vsamp.c
+module_exit(v2vdrv_cleanup);
+
+MODULE_LICENSE("Dual BSD/GPL");
-diff --git a/drivers/xen/v2v/v2vdrv.h b/drivers/xen/v2v/v2vdrv.h
-new file mode 100644
-index 0000000..8c3cd06
---- /dev/null
-+++ b/drivers/xen/v2v/v2vdrv.h
+Index: linux-2.6.27/drivers/xen/v2v/v2vdrv.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.27/drivers/xen/v2v/v2vdrv.h 2009-11-17 09:45:07.000000000 +0000
@@ -0,0 +1,93 @@
+/******************************************************************************
+ * drivers/xen/v2v/v2vdrv.h
+}
+
+#endif /* !V2V_DRV_H__ */
-diff --git a/drivers/xen/v2v/v2vops.c b/drivers/xen/v2v/v2vops.c
-new file mode 100644
-index 0000000..ff06deb
---- /dev/null
-+++ b/drivers/xen/v2v/v2vops.c
+Index: linux-2.6.27/drivers/xen/v2v/v2vops.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.27/drivers/xen/v2v/v2vops.c 2009-11-17 09:45:07.000000000 +0000
@@ -0,0 +1,698 @@
+/******************************************************************************
+ * drivers/xen/v2v/v2vops.c
+ kfree(vlc);
+}
+
-diff --git a/drivers/xen/v2v/v2vutl.c b/drivers/xen/v2v/v2vutl.c
-new file mode 100644
-index 0000000..3dc36c7
---- /dev/null
-+++ b/drivers/xen/v2v/v2vutl.c
+Index: linux-2.6.27/drivers/xen/v2v/v2vutl.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.27/drivers/xen/v2v/v2vutl.c 2009-11-17 09:45:07.000000000 +0000
@@ -0,0 +1,226 @@
+/******************************************************************************
+ * drivers/xen/v2v/v2v.c
+ free_vm_area(vm_area);
+}
+
-diff --git a/include/xen/interface/io/vring.h b/include/xen/interface/io/vring.h
-new file mode 100644
-index 0000000..9efa886
---- /dev/null
-+++ b/include/xen/interface/io/vring.h
+Index: linux-2.6.27/include/xen/interface/io/vring.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.27/include/xen/interface/io/vring.h 2009-11-17 09:45:07.000000000 +0000
@@ -0,0 +1,417 @@
+/******************************************************************************
+ * include/xen/interface/io/vring.h
+}
+
+#endif /* __XEN_PUBLIC_IO_URING_H__ */
-diff --git a/include/xen/v2v.h b/include/xen/v2v.h
-new file mode 100644
-index 0000000..abef7be
---- /dev/null
-+++ b/include/xen/v2v.h
+Index: linux-2.6.27/include/xen/v2v.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.27/include/xen/v2v.h 2009-11-17 09:45:07.000000000 +0000
@@ -0,0 +1,368 @@
+/******************************************************************************
+ * include/xen/v2v.h