Add support for table offset
authorSam Hague <shague@redhat.com>
Mon, 11 Jan 2016 19:57:15 +0000 (14:57 -0500)
committerSam Hague <shague@redhat.com>
Tue, 12 Jan 2016 16:34:16 +0000 (11:34 -0500)
commit6145aa7fe775f136802b18046298c4e3a9a2e2d9
treea6b71bfbc47a8aa243f34f38c96bee48da39b8f5
parent625bfdabba384cc3607da8279ef4ee052258fcbf
Add support for table offset

This commit adds a new config parameter table-offset to
allow setting the openflow table base. The default value is 0.
The user can change the value via the config file
netvirt-providers-impl-default-config.xml or by using the restconf
api show below. The value used must be between 1 and 145 - with 145
coming from 255-110 - 110 is the max table in the netvirt pipeline.

The following curl commands can be used to configure the value:
- Get the current value:
curl -u admin:admin http://localhost:8181/restconf/config/netvirt-providers-config:netvirt-providers-config
- Change the value: In this example the value is changed to 1
curl -u admin:admin http://localhost:8181/restconf/config/netvirt-providers-config:netvirt-providers-config -i -H "Content-Type: application/json" --data '{"netvirt-providers-config": {"table-offset": 1}}' -X PUT

If the table-offset is set, then an extra flow is added to the br-ex and br-int
switches to steer packets from table 0 to the first table in the pipeline.

IT tests were all updated to check for the new table-offsets as well as
adding unti-tests. Some IT tests have a little more due to the Yang
pacth that enforces strictre rules on the Yang files and was failing the tests.

Further patches should add config service in netvirt to be a central point
handling all the config updates. SG is also adding a config value that should
be included.

Change-Id: I44b3a442e8050d8f1ef1c5cd9db5c32af2d5ce19
Signed-off-by: Sam Hague <shague@redhat.com>
21 files changed:
openstack/net-virt-it/src/test/java/org/opendaylight/ovsdb/openstack/netvirt/it/NetvirtIT.java
openstack/net-virt-providers/src/main/config/default-config.xml
openstack/net-virt-providers/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/providers/ConfigActivator.java
openstack/net-virt-providers/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/providers/NetvirtProvidersConfigImpl.java [new file with mode: 0644]
openstack/net-virt-providers/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/providers/NetvirtProvidersProvider.java
openstack/net-virt-providers/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/providers/openflow13/AbstractServiceInstance.java
openstack/net-virt-providers/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/providers/openflow13/OF13Provider.java
openstack/net-virt-providers/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/providers/openflow13/PipelineOrchestrator.java
openstack/net-virt-providers/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/providers/openflow13/PipelineOrchestratorImpl.java
openstack/net-virt-providers/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/providers/openflow13/services/ClassifierService.java
openstack/net-virt-providers/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/providers/openflow13/services/arp/GatewayMacResolverService.java
openstack/net-virt-providers/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/netvirt/providers/impl/rev150513/NetvirtProvidersImplModule.java
openstack/net-virt-providers/src/main/yang/netvirt-providers-config.yang [new file with mode: 0644]
openstack/net-virt-providers/src/main/yang/netvirt-providers-impl.yang
openstack/net-virt-providers/src/test/java/org/opendaylight/ovsdb/openstack/netvirt/providers/NetvirtProvidersProviderTest.java [new file with mode: 0644]
openstack/net-virt-providers/src/test/java/org/opendaylight/ovsdb/openstack/netvirt/providers/openflow13/AbstractServiceInstanceTest.java
openstack/net-virt-providers/src/test/java/org/opendaylight/ovsdb/openstack/netvirt/providers/openflow13/PipelineOrchestratorImplTest.java
openstack/net-virt-sfc/impl/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/sfc/workaround/services/SfcClassifierService.java
openstack/net-virt-sfc/it/src/test/java/org/opendaylight/ovsdb/openstack/netvirt/sfc/NetvirtSfcIT.java
openstack/net-virt-sfc/it/src/test/java/org/opendaylight/ovsdb/openstack/netvirt/sfc/utils/AclUtils.java
openstack/net-virt/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/api/ClassifierProvider.java