aboutsummaryrefslogtreecommitdiffstats
path: root/tools/pkt_fwd/pkt_fwd.py
diff options
context:
space:
mode:
authorRobert Wojciechowicz <robertx.wojciechowicz@intel.com>2015-12-09 10:07:38 +0000
committerMaryam Tahhan <maryam.tahhan@intel.com>2016-01-21 09:41:05 +0000
commit9a054248197bdaed71b32e9d9c0ac621bf89c1cd (patch)
treec186250f91e658845cd8f3a985517c33a9ba0220 /tools/pkt_fwd/pkt_fwd.py
parent7caf7a6be0fae6b341181b3e6286372e2e93b4b8 (diff)
Add testpmd as vswitch class
The purpose of using testpmd instead of OVS is to get the baseline of the DUT when performing hardware offloading operations. There are supported different checksum calculation and txq flags settings. Change-Id: I93c9b45dcb31eaa1f610b7e061f3dd5936b0e6ec JIRA: VSPERF-193 Signed-off-by: Robert Wojciechowicz <robertx.wojciechowicz@intel.com> Reviewed-by: Dino Simeon Madarang <dino.simeonx.madarang@intel.com> Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com> Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
Diffstat (limited to 'tools/pkt_fwd/pkt_fwd.py')
-rw-r--r--tools/pkt_fwd/pkt_fwd.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/tools/pkt_fwd/pkt_fwd.py b/tools/pkt_fwd/pkt_fwd.py
new file mode 100644
index 00000000..2580ee1f
--- /dev/null
+++ b/tools/pkt_fwd/pkt_fwd.py
@@ -0,0 +1,53 @@
+# Copyright 2016 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+"""Abstract "packet forwarding" model.
+
+This is an abstract class for packet forwarders.
+"""
+
+class IPktFwd(object):
+ """Interface class that is implemented by specific classes
+ of packet forwarders
+ """
+
+ def __enter__(self):
+ """Start the packet forwarder.
+
+ Provide a context manager interface to the packet forwarders.
+ This simply calls the :func:`start` function.
+ """
+ return self.start()
+
+ def __exit__(self, type_, value, traceback):
+ """Stop the packet forwarder.
+
+ Provide a context manager interface to the packet forwarders.
+ This simply calls the :func:`stop` function.
+ """
+ self.stop()
+
+ def start(self):
+ """Start the packet forwarder.
+
+ :returns: None
+ """
+ raise NotImplementedError('Please call an implementation.')
+
+ def stop(self):
+ """Stop the packet forwarder.
+
+ :returns: None
+ """
+ raise NotImplementedError('Please call an implementation.')
+