[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-users] Remus dom0 network buffering



Hi all,

To close off on this, Shriram's patch worked great, thank you.

So Ubuntu 12.10's standard generic kernel is now working fine as a dom0 for Remus with Xen 4.1.4 (with the patch from this thread).

I wrote up my full install instructions here:
http://wiki.xen.org/wiki/Install_Xen_4.1.4_with_Remus_and_DRBD_on_Ubuntu_12.10

I also took a shot at a number of updates to:
http://wiki.xen.org/wiki/Remus

And added these pages:
http://wiki.xen.org/wiki/Remus_PV_domU_requirements
http://wiki.xen.org/wiki/Remus_dom0_requirements

Feedback very welcome, a lot of that information was a bit old, so I did my best.

Cheers,
Andrew


On Mon, Feb 18, 2013 at 8:26 PM, Shriram Rajagopalan <rshriram@xxxxxxxxx> wrote:
ah darn. Yes, the 3.5 kernel has sch_plug in it. Unfortunately, the
technique to initialize the sch_plug module is bit
different with the module thats already mainline. You ll have to patch
the qdisc.py python module. I ll submit the
patch to xen devel soon.
Mean while, can you try the patch below and see if it works ?

Secondly, you said you were writing a blog about how you set it up.
One of the remus users created a wiki
remusha.wikidot.com, which has a whole tutorial on how to setup remus
with Debian Squeeze. I have been under fire
lately for a host of remus issues. It would be great if you could post
your experiences on the wiki too.
(http://remusha.wikidot.com/system:join)

thanks
shriram

---
diff -r 6435f1edf24e tools/python/xen/remus/qdisc.py
--- a/tools/python/xen/remus/qdisc.py   Tue Jul 17 19:23:30 2012 -0400
+++ b/tools/python/xen/remus/qdisc.py   Mon Feb 18 18:25:22 2013 -0500
@@ -1,6 +1,9 @@
 import socket, struct

 import netlink
+import platform
+
+kernelversion = platform.platform(terse=True).split("-")[1].split(".")

 qdisc_kinds = {}

@@ -150,9 +153,14 @@
 TC_PLUG_RELEASE = 1

 class PlugQdisc(Qdisc):
-    fmt = 'I'

     def __init__(self, qdict=None):
+        if int(kernelversion[0]) >= 3 and int(kernelversion[1]) >= 4:
+            self.fmt = 'iI'
+            self.limit = 10000
+        else:
+            self.fmt = 'I'
+
         if not qdict:
             qdict = {'kind': 'plug',
                      'handle': TC_H_ROOT}
@@ -161,7 +169,10 @@
         self.action = "">
     def pack(self):
-        return struct.pack(self.fmt, self.action)
+        if int(kernelversion[0]) >= 3 and int(kernelversion[1]) >= 4:
+            return struct.pack(self.fmt, self.action, self.limit)
+        else:
+            return struct.pack(self.fmt, self.action)

     def parse(self, args):
         if not args:

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxx
http://lists.xen.org/xen-users

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.