Freescale FWaaS Plugin

Freescale FWaaS Plugin

Launchpad blueprint:

Note: This Blueprint is proposed for Neutron-FWaaS repository.

CRD (Cloud Resource Discovery) Service is designed to support Freescale silicon in data center environment. Like Neutron, it uses keystone authentication for all ReSTful calls.

Problem Description

Neutron-FWaaS Firewall information (like rules, policies and firewall) is requried by CRD service to manage Firewall deployment in virtual network appliances and openflow controller apps.

In order to send this information to CRD from neutron, a new FWaaS plugin is required.

Freescale FWaaS Plugin proxies ReSTful calls (formatted for CRD Service) from Neutron to CRD Service.

It supports the Cloud Resource Discovery (CRD) service by updating the Firewall related data (rules, policies and firewall) into the CRD database.

CRD service manages creation of firewall on network nodes, virtual network appliances and openflow controller network applications.

Proposed Change

The basic work flow is as shown below.

|                               |
|       Neutron Service         |
|                               |
|    +--------------------------+
|    |  Neutron-FWaaS with      |
|    |  Freescale Firewall      |
|    |  Service Plugin          |
|    |                          |
                 |  ReST API
       |                     |
       |   CRD Service       |
       |                     |

Freescale Firewall Service plugin sends the Firewall related data to CRD server.

The plug-in implements the CRUD operation on the following entities:
  • Firewall Rules

  • Firewall Policies

  • Firewall

The plug-in uses the exisitng firewall database to store the firewall data.

The creation of firewall in network node or Virtual Network appliance or Openflow controller app is decided by CRD service.

Sequence flow of events for create_firewall is as follows:

  neutron       ->  fsl_fw_plugin
  fsl_fw_plugin ->  crd_service
  fsl_fw_plugin <-- crd_service
  neutron       <-- fsl_fw_plugin



Data Model Impact

Existing models are used. No new models are created.



IPv6 Impact


Security Impact


Notifications Impact


Other End User Impact


Performance Impact

Negligible or None

Other Deployer Impact

This change only affects deployments where neutron ‘service_plugins’ is configured with ‘fsl_firewall’, ‘core_plugin’ is ‘ml2’ and ‘ml2’ plugin is configured with ‘fslsdn’ mechanism driver.

‘fslsdn’ mechanism driver configuration is used by this service plugin to contact CRD service.

Update [DEFAULT] section of /etc/neutron/neutron.conf as,

service_plugins = fsl_firewall
core_plugin = ml2

The following configuration changes are made to enable Freescale SDN mechanism driver.

In [ml2] section of /etc/neutron/plugins/ml2/ml2_conf.ini, modify ‘mechanism_drivers’ attributes as,

mechanism_drivers = fslsdn

Update /etc/neutron/plugins/ml2/ml2_conf_fslsdn.ini, as below.

crd_auth_strategy = keystone
crd_url =
crd_auth_url =
crd_tenant_name = service
crd_password = <-service-password->
crd_user_name = <-service-username->

Developer Impact


Community Impact




Primary assignee:


Other contributors:


Work Items

  • Freescale FWaaS Service Plugin




Tempest Tests

  • Complete unit test coverage of the code is included.

  • For tempest test coverage, third party testing is provided.

  • The Freescale CI reports on all changes affecting this Plugin.

  • The testing is run in a setup with an OpenStack deployment (devstack) connected to an active CRD server.

Functional Tests

Complete unit test coverage of the code is included.

API Tests


Documentation Impact

User Documentation

Since the usage of this plugin requires ‘ml2’ as core_plugin and ‘fslsdn’ as mechanism_driver, the above detailed deployer impact will be documented.

Developer Documentation

None needed beyond documentation changes listed above.



Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.