Merge "vPE Sample VNF is missing in the installation scripts"
[yardstick.git] / yardstick / network_services / vnf_generic / vnf / vfw_vnf.py
index 6c95648..432f30a 100644 (file)
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-from __future__ import absolute_import
 import logging
 
-from yardstick.benchmark.scenarios.networking.vnf_generic import find_relative_file
-from yardstick.network_services.vnf_generic.vnf.sample_vnf import SampleVNF, DpdkVnfSetupEnvHelper
-from yardstick.network_services.yang_model import YangModel
+from yardstick.network_services.vnf_generic.vnf.sample_vnf import SampleVNF
+from yardstick.network_services.vnf_generic.vnf.acl_vnf import AclApproxSetupEnvSetupEnvHelper
 
 LOG = logging.getLogger(__name__)
 
 # vFW should work the same on all systems, we can provide the binary
-FW_PIPELINE_COMMAND = """sudo {tool_path} -p {port_mask_hex} -f {cfg_file} -s {script}"""
+FW_PIPELINE_COMMAND = "sudo {tool_path} -p {port_mask_hex} -f {cfg_file} -s {script} {hwlb}"
 
 FW_COLLECT_KPI = (r"""VFW TOTAL:[^p]+pkts_received"?:\s(\d+),[^p]+pkts_fw_forwarded"?:\s(\d+),"""
                   r"""[^p]+pkts_drop_fw"?:\s(\d+),\s""")
 
 
-class FWApproxSetupEnvHelper(DpdkVnfSetupEnvHelper):
+class FWApproxSetupEnvHelper(AclApproxSetupEnvSetupEnvHelper):
 
     APP_NAME = "vFW"
     CFG_CONFIG = "/tmp/vfw_config"
@@ -38,6 +36,8 @@ class FWApproxSetupEnvHelper(DpdkVnfSetupEnvHelper):
     SW_DEFAULT_CORE = 5
     HW_DEFAULT_CORE = 2
     VNF_TYPE = "VFW"
+    RULE_CMD = "vfw"
+    DEFAULT_FWD_ACTIONS = ["accept", "count", "conntrack"]
 
 
 class FWApproxVnf(SampleVNF):
@@ -57,11 +57,3 @@ class FWApproxVnf(SampleVNF):
             setup_env_helper_type = FWApproxSetupEnvHelper
 
         super(FWApproxVnf, self).__init__(name, vnfd, setup_env_helper_type, resource_helper_type)
-        self.vfw_rules = None
-
-    def _start_vnf(self):
-        yang_model_path = find_relative_file(self.scenario_helper.options['rules'],
-                                             self.scenario_helper.task_path)
-        yang_model = YangModel(yang_model_path)
-        self.vfw_rules = yang_model.get_rules()
-        super(FWApproxVnf, self)._start_vnf()