commit 8887f077ba9597cc76a93c657cf96a8cfb088ec3 Author: Jiri Prochazka jprochaz@redhat.com Date: Thu May 21 14:24:18 2015 +0200
Add Controller support for NetEm.
This patch adds support for processing from XML recipe and sending to Slave with other interface configuration. NetEm params for interface are stored in dict with config, under key "netem" and the values from config are parsed on Slave. (see next commit)
Signed-off-by: Jiri Prochazka jprochaz@redhat.com Signed-off-by: Jan Tluka jtluka@redhat.com Acked-by: Jiri Pirko jiri@resnulli.us
lnst/Controller/Machine.py | 6 +++++- lnst/Controller/NetTestController.py | 3 +++ 2 files changed, 8 insertions(+), 1 deletions(-) --- diff --git a/lnst/Controller/Machine.py b/lnst/Controller/Machine.py index dc30ef0..52e85e4 100644 --- a/lnst/Controller/Machine.py +++ b/lnst/Controller/Machine.py @@ -500,6 +500,7 @@ class Interface(object): self._hwaddr = None self._devname = None self._network = None + self._netem = None
self._slaves = {} self._slave_options = {} @@ -550,6 +551,9 @@ class Interface(object): def set_option(self, name, value): self._options.append((name, value))
+ def set_netem(self, netem): + self._netem = netem + def add_master(self, master, primary=True): if primary and self._master["primary"] != None: msg = "Interface %s already has a primary master."\ @@ -642,7 +646,7 @@ class Interface(object): "slave_options": self._slave_options, "master": None, "other_masters": [], "ovs_conf": self._ovs_conf, "netns": self._netns, - "peer": self._peer} + "peer": self._peer, "netem" : self._netem}
if self._master["primary"] != None: config["master"] = self._master["primary"].get_id() diff --git a/lnst/Controller/NetTestController.py b/lnst/Controller/NetTestController.py index efeeb92..eeb6426 100644 --- a/lnst/Controller/NetTestController.py +++ b/lnst/Controller/NetTestController.py @@ -326,6 +326,9 @@ class NetTestController: for opt in iface_xml_data["options"]: iface.set_option(opt["name"], opt["value"])
+ if "netem" in iface_xml_data: + iface.set_netem(iface_xml_data["netem"].to_dict()) + if "ovs_conf" in iface_xml_data: iface.set_ovs_conf(iface_xml_data["ovs_conf"].to_dict())
lnst-developers@lists.fedorahosted.org