[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:
I also took a shot at a number of updates to:
And added these pages:
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
|