WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH 4/6] Network acceleration improvements

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH 4/6] Network acceleration improvements
From: Kieran Mansley <kmansley@xxxxxxxxxxxxxx>
Date: Wed, 03 Oct 2007 14:18:32 +0100
Delivery-date: Wed, 03 Oct 2007 06:21:01 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Signed-off-by: Kieran Mansley <kmansley@xxxxxxxxxxxxxx> 

Add version number to API between netfront and accel plugin

diff -r 4d2b719d5a57 drivers/xen/netfront/accel.c
--- a/drivers/xen/netfront/accel.c      Wed Oct 03 13:36:28 2007 +0100
+++ b/drivers/xen/netfront/accel.c      Wed Oct 03 13:36:34 2007 +0100
@@ -406,11 +406,26 @@ accelerator_probe_vifs_on_load(struct ne
 /* 
  * Called by the netfront accelerator plugin module when it has loaded 
  */
-int netfront_accelerator_loaded(const char *frontend, 
+int netfront_accelerator_loaded(int version, const char *frontend, 
                                struct netfront_accel_hooks *hooks)
 {
        struct netfront_accelerator *accelerator;
        unsigned flags;
+
+       if (version != NETFRONT_ACCEL_VERSION) {
+               if (version > NETFRONT_ACCEL_VERSION) {
+                       /* Caller has higher version number, leave it
+                          up to them to decide whether to continue.
+                          They can re-call with a lower number if
+                          they're happy to be compatible with us */
+                       return NETFRONT_ACCEL_VERSION;
+               } else {
+                       /* We have a more recent version than caller.
+                          Currently reject, but may in future be able
+                          to be backwardly compatible */
+                       return -EPROTO;
+               }
+       }
 
        spin_lock_irqsave(&accelerators_lock, flags);
 
diff -r 4d2b719d5a57 drivers/xen/netfront/netfront.h
--- a/drivers/xen/netfront/netfront.h   Wed Oct 03 13:36:28 2007 +0100
+++ b/drivers/xen/netfront/netfront.h   Wed Oct 03 13:37:13 2007 +0100
@@ -98,6 +98,11 @@ struct netfront_accel_hooks {
        int (*check_busy)(struct net_device *dev);
 };
 
+
+/* Version of API/protocol for communication between netfront and
+   acceleration plugin supported */
+#define NETFRONT_ACCEL_VERSION 0x00010000
+
 /* 
  * Per-netfront device state for the accelerator.  This is used to
  * allow efficient per-netfront device access to the accelerator
@@ -221,8 +226,12 @@ struct netfront_info {
  *
  * frontend: the string describing the accelerator, currently the module name 
  * hooks: the hooks for netfront to use to call into the accelerator
- */
-extern int netfront_accelerator_loaded(const char *frontend, 
+ * version: the version of API between frontend and plugin requested
+ * 
+ * return: 0 on success, <0 on error, >0 (with version supported) on
+ * version mismatch
+ */
+extern int netfront_accelerator_loaded(int version, const char *frontend, 
                                       struct netfront_accel_hooks *hooks);
 
 /* 

Attachment: netfront_version
Description: Text document

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [PATCH 4/6] Network acceleration improvements, Kieran Mansley <=