diff options
Diffstat (limited to 'vswitches')
-rw-r--r-- | vswitches/ovs_dpdk_vhost.py | 4 | ||||
-rw-r--r-- | vswitches/ovs_vanilla.py | 4 | ||||
-rw-r--r-- | vswitches/vswitch.py | 9 |
3 files changed, 12 insertions, 5 deletions
diff --git a/vswitches/ovs_dpdk_vhost.py b/vswitches/ovs_dpdk_vhost.py index cf60a5e2..2c7b81ff 100644 --- a/vswitches/ovs_dpdk_vhost.py +++ b/vswitches/ovs_dpdk_vhost.py @@ -148,11 +148,11 @@ class OvsDpdkVhost(IVSwitch): bridge = self._bridges[switch_name] bridge.del_port(port_name) - def add_flow(self, switch_name, flow): + def add_flow(self, switch_name, flow, cache='off'): """See IVswitch for general description """ bridge = self._bridges[switch_name] - bridge.add_flow(flow) + bridge.add_flow(flow, cache=cache) def del_flow(self, switch_name, flow=None): """See IVswitch for general description diff --git a/vswitches/ovs_vanilla.py b/vswitches/ovs_vanilla.py index c6617404..3078de02 100644 --- a/vswitches/ovs_vanilla.py +++ b/vswitches/ovs_vanilla.py @@ -164,11 +164,11 @@ class OvsVanilla(IVSwitch): bridge = self._bridges[switch_name] bridge.del_port(port_name) - def add_flow(self, switch_name, flow): + def add_flow(self, switch_name, flow, cache='off'): """See IVswitch for general description """ bridge = self._bridges[switch_name] - bridge.add_flow(flow) + bridge.add_flow(flow, cache=cache) def del_flow(self, switch_name, flow=None): """See IVswitch for general description diff --git a/vswitches/vswitch.py b/vswitches/vswitch.py index fbec861a..a28c0f6b 100644 --- a/vswitches/vswitch.py +++ b/vswitches/vswitch.py @@ -89,11 +89,18 @@ class IVSwitch(object): """ raise NotImplementedError() - def add_flow(self, switch_name, flow): + def add_flow(self, switch_name, flow, cache='off'): """Add a flow rule to the logical switch :param switch_name: The switch on which to operate :param flow: Flow description as a dictionary + :param cache: Optional. Specifies if flow should be inserted + to the switch or cached to increase performance during manipulation + with large number of flows. + Values: + 'off' - cache is off and flow is inserted directly to the switch + 'on' - cache is on and flow is inserted into the cache + 'flush' - cache content will be inserted into the switch Example flow dictionary: flow = { |