sfc.git
8 years agoFix issues related to checkstyle compliance 95/51895/1
David [Wed, 15 Feb 2017 09:47:11 +0000 (10:47 +0100)]
Fix issues related to checkstyle compliance

Fix issues related to checkstyle compliance in module
sfc-openflow-renderer:
- Copyright sections
- Line lengths
- Order imports
- Declaration of constants: name, modifiers
- Formatting
- Remove redundant modifiers: public in interface methods, final, etc.
- Rename variables
- Move declaration of variables closer to their use

Change-Id: I732f5f0141923756894919982dfc3938249717a5
Signed-off-by: David <david.suarez.fuentes@ericsson.com>
8 years agoMerge "Fix issues related to checkstyle compliance"
Brady Johnson [Fri, 10 Feb 2017 11:30:18 +0000 (11:30 +0000)]
Merge "Fix issues related to checkstyle compliance"

8 years agoMerge "Fix issues related to checkstyle compliance"
Brady Johnson [Fri, 10 Feb 2017 11:30:09 +0000 (11:30 +0000)]
Merge "Fix issues related to checkstyle compliance"

8 years agoMerge "Delete SFF VXGPE port upon SFF deletion"
Yi Yang [Fri, 10 Feb 2017 10:58:54 +0000 (10:58 +0000)]
Merge "Delete SFF VXGPE port upon SFF deletion"

8 years agoFix issues related to checkstyle compliance 54/51654/2
David Suarez [Thu, 9 Feb 2017 20:46:49 +0000 (21:46 +0100)]
Fix issues related to checkstyle compliance

Fix issues related to checkstyle compliance in module
sfc-openflow-renderer:
- Copyright sections
- Line lengths
- Declaration of constants: name, modifiers
- Formatting
- Group overloaded methods
- Remove redundant modifiers: public in interface methods, final, etc.
- Move variable declarations to be closer to their usage

Change-Id: Ic997732b525d3397532650282a13d1d742c50d3b
Signed-off-by: David Suarez <david.suarez.fuentes@ericsson.com>
Change-Id: Ibae8e1e15156d51c37ff9b152eb8081f89545d21
Signed-off-by: David Suarez <david.suarez.fuentes@ericsson.com>
8 years agoFix issues related to checkstyle compliance 33/51633/3
David Suarez [Thu, 9 Feb 2017 14:43:29 +0000 (15:43 +0100)]
Fix issues related to checkstyle compliance

Fix issues related to checkstyle compliance in module
sfc-openflow-renderer:
- Copyright sections
- Line lengths
- Declaration of constants: name, modifiers
- Formatting
- Group overloaded methods
- Remove redundant modifiers: public in interface methods, final, etc.
- Move variable declarations to be closer to their usage

Change-Id: Ic997732b525d3397532650282a13d1d742c50d3b
Signed-off-by: David Suarez <david.suarez.fuentes@ericsson.com>
8 years agoChange package name to comply with checkstyle 56/51656/1
David Suarez [Thu, 9 Feb 2017 22:44:15 +0000 (23:44 +0100)]
Change package name to comply with checkstyle

Change package name to comply with checkstyle rules and other minor
changes to follow its rules.

Change-Id: Id82b4513f49dd9f09b3b1be74c323d6b29ac0e60
Signed-off-by: David Suarez <david.suarez.fuentes@ericsson.com>
8 years agoDelete SFF VXGPE port upon SFF deletion 99/50499/5
Brady Johnson [Fri, 13 Jan 2017 11:19:50 +0000 (12:19 +0100)]
Delete SFF VXGPE port upon SFF deletion

- Added sfc_ovs/provider/listener unit tests

Change-Id: I82ddda7319957fea390aeef2ddace367e3d30be1
Signed-off-by: Brady Johnson <brady.allen.johnson@ericsson.com>
8 years agodocker environment to test sfc 91/49691/26
Jaime Caamaño Ruiz [Wed, 21 Dec 2016 11:11:48 +0000 (12:11 +0100)]
docker environment to test sfc

This directory provides:

- An utility, 'dovs', to setup neutron networks where compute nodes
  are containerized openvswitch instances and VMs are isolated network
  namespaces connected to such instances.
- A vagrant driven virtual environment prepared to run dovs

The plan is to further add utilities to test SFC on top of this
environment, and will also be used for CSIT SFC.

Change-Id: Ife8357d50b7df43400504d9bd602ff9afd1b88a7
Signed-off-by: Jaime Caamaño Ruiz <jaime.caamano.ruiz@ericsson.com>
8 years agoMerge "Bug 3712: SFP validation of SF types at creation time"
Brady Johnson [Tue, 7 Feb 2017 08:24:14 +0000 (08:24 +0000)]
Merge "Bug 3712: SFP validation of SF types at creation time"

8 years agoMinor changes in sfc-genius module to comply with checkstyle 92/51492/1
David Suarez [Mon, 6 Feb 2017 23:44:30 +0000 (00:44 +0100)]
Minor changes in sfc-genius module to comply with checkstyle

Minor changes in sfc-genius module to comply with checkstyle.

Change-Id: I549b89f7717181906c925dad3b2baff6ca2720f2
Signed-off-by: David Suarez <david.suarez.fuentes@ericsson.com>
8 years agoBug 3712: SFP validation of SF types at creation time 59/50559/10
Diego Granados [Mon, 16 Jan 2017 10:58:39 +0000 (11:58 +0100)]
Bug 3712: SFP validation of SF types at creation time

This commit makes use of DOMDataTreeCommitCohorts (callbacks
that can be registered in order to participate in commit
validation) in order to make sure that newly-added datastore
SFPs are consistent with previously defined SFCs and SFs.
Specifically, it is checked that the types for the SFs the
SFP references are consistent with the SF types that the
SFC specifies.

Since the datastore commit transaction is kept open during
validation, this validation must be as fast as possible.
Controller guidelines about not opening new datastore
reads in order to validate a DS write have been followed
to the maximum extent; for this reason, a datastore cache
has been deployed to cover both SFs and SFCs. On systems
with less than 500 SFs & SFCs deployed, caches will provide
total coverage (i.e. validation will never need to access
datastore)

Testing: manually tested (complex interactions between
controller-mdsal-scf are too hard to simulate). Proper CSIT
tests will be delivered to the sfc suites in the integration
project.

Change-Id: I5886d0be9191043aa8227c242a1498e518b31a38
Signed-off-by: Diego Granados <diego.jesus.granados.lopez@ericsson.com>
8 years agoUpdate vpp YANG models to 17.01 release 70/51070/2
Yi Yang [Thu, 26 Jan 2017 13:28:46 +0000 (21:28 +0800)]
Update vpp YANG models to 17.01 release

Change-Id: I77f7e6e3e4508d49ff57dc0d36f9998546386bc2
Signed-off-by: Yi Yang <yi.y.yang@intel.com>
8 years agoRename sfc-ios-xe-renderers packages to comply with checkstyle 15/51315/2
David Suarez [Wed, 1 Feb 2017 22:40:12 +0000 (23:40 +0100)]
Rename sfc-ios-xe-renderers packages to comply with checkstyle

Rename sfc-ios-xe-renderers packages to comply with checkstyle.

Change-Id: Ida04fae3ddba129564e76aedb989e8415f6153ab
Signed-off-by: David Suarez <david.suarez.fuentes@ericsson.com>
8 years agoBug 7554: Update GUI after deprecating nsh-aware in SF and other changes in model 52/50552/2
eabasan [Tue, 17 Jan 2017 14:48:51 +0000 (15:48 +0100)]
Bug 7554: Update GUI after deprecating nsh-aware in SF and other changes in model

After the following commits, GUI should be updated:
1) https://git.opendaylight.org/gerrit/#/c/49687/
   Removing deprecated SF fields (nsh-aware)
2) https://git.opendaylight.org/gerrit/#/c/49546/
   Deprecating the SFC and RSP symmetric flags

Change-Id: I994d70878ff5d6f71aca54b338076df9bf2d3a05
Signed-off-by: eabasan <santiago.abascal@ericsson.com>
8 years agoSFC Proof of Transit SB changes. 36/49636/14
Srihari [Tue, 20 Dec 2016 09:44:44 +0000 (15:14 +0530)]
SFC Proof of Transit SB changes.

1. Add changes to handle RPC trigger to generate PoT configuration.
2. Add timer wheel and configuration refresh related timer code.
3. Add core SFC PoT configuration generation APIs
4. Utilities for listening to node arrivals and sending via NETCONF
5. Add unit tests.
6. Design guide and documentation: https://github.com/CiscoDevNet/iOAM

Change-Id: Ibfcf98509c91d8e9d0c20c741e08813c0ab19ef8
Signed-off-by: Srihari <srihari@cisco.com>
8 years agoUse operational for DPN term. service actions 67/50667/5
Jaime Caamaño Ruiz [Mon, 16 Jan 2017 18:01:05 +0000 (19:01 +0100)]
Use operational for DPN term. service actions

Remove in-memory handling of DPNs for terminating service actions.
Replace with listener for changes on the existing DPN to RSP map
already available on operationa data store
(service-function-forwarder-logical.yang, dpnid-rsps grouping).

In detail:

- Main module interface has been moved and renamed, from
  impl/handlers/ISfcGeniusInterfaceServiceHandler to
  impl/SfcGeniusServiceManager. This is because the module
  is no longer centered on interface events as it now responds
  to DPN related events.
- SfcGeniusServiceManager has two new methods, bindToNode and
  unbindFromNode, to create and remove the SFC terminating service
  action on the nodes.
- SfcGeniusServiceManager no longer has an interfaceStateDown method
  which only purpose was to remove the SFC terminating service action
  on VM migration. Note that now this is delayed up until the VM
  migration completes: interfaceStateUp on a new Node triggers
  the re-rendering of the appropiate RSPs which updates the map
  of DPN to RSP, which in turn triggers the removal and creation
  of the SFC service terminating action on the appropiate nodes.
- A new listener, SfcGeniusSffDpnStateListener, that in response
  to changes on the DPN to RSP map, will trigger SFC service
  binding or unbinding towards the DPN.

Change-Id: I2cfe36fadedba619ed959ba6e3c6533787a88be4
Signed-off-by: Jaime Caamaño Ruiz <jaime.caamano.ruiz@ericsson.com>
8 years agoAct on sonar reported issues / technical debt 61/51261/5
Miguel Duarte [Mon, 30 Jan 2017 14:14:39 +0000 (15:14 +0100)]
Act on sonar reported issues / technical debt

Stop using the 'order' local variable in the SfcOfFlowProgrammerImpl
methods; since we're only appending the action to the action list, I
think it is more explicit / less error-prone to indicate the 'order' as
the current-list size (always append to the end of the list)

The configureNshNscTransportEgressFlow in the SfcOfFlowProgrammerImpl
class had a bug; the next protocol was not deing correctly defined as
NSH - as a result, that action list only featured a single action, which
is to set the output port. Now it has an action setting the next
protocol to NSH, and another setting the output protocol.

Tests are updated accordingly.

Used a StringBuilder instead of a StringBuffer in the SfcOfRspProcessor
because the StringBuffer is thread safe, which, in this scenario only
leads to throttled performance.

Removed the TUN_GPE_NP_NSH constant from yet another class.

Change-Id: Ie66ba64f4ec015e97856da5289c19f10efdf3566
Signed-off-by: Miguel Duarte <miguel.duarte.de.mora.barroso@ericsson.com>
8 years agoEnforce checkstyle in sfc-sfclisp module 64/51264/1
David Suarez [Tue, 31 Jan 2017 17:04:22 +0000 (18:04 +0100)]
Enforce checkstyle in sfc-sfclisp module

Checkstyle enforcement for sfc-sfclisp module:
- Remove commented blocks
- Formatting
- Lines length
- Re-factor switch
- Replace catching of generic exceptions
- Move overloaded methods
- Fix Javadocs
- Protected constructor for utility classes
- Order imports
- Change attributes names

Change-Id: I234ee2489051132dcd3e6a5ae8ff904b94cb89d8
Signed-off-by: David Suarez <david.suarez.fuentes@ericsson.com>
8 years agoEnforce checkstyle in sfc-genius module 92/51092/4
David Suarez [Thu, 26 Jan 2017 21:55:37 +0000 (22:55 +0100)]
Enforce checkstyle in sfc-genius module

Checkstyle enforcement for sfc-genius module
- Formatting
- Fix Javadocs
- Order imports
- Change attributes names
- Replace catching of generic exceptions
- Lines length
- Enforce rule in POM

Change-Id: I35df8a29ee0813ed43c92391115350fa174d71a7
Signed-off-by: David Suarez <david.suarez.fuentes@ericsson.com>
8 years agoLSFF Fix: add NSH as NP at SFF->SFF egress 80/51080/4
Diego Granados [Thu, 26 Jan 2017 17:39:47 +0000 (18:39 +0100)]
LSFF Fix: add NSH as NP at SFF->SFF egress

Also test changes

Change-Id: Iddde0e57654aa045b6c8a33108fdb75463157408
Signed-off-by: Diego Granados <diego.jesus.granados.lopez@ericsson.com>
8 years agoEnforce checkstyle in sfc-netconf module 40/51040/2
David Suarez [Wed, 25 Jan 2017 22:42:02 +0000 (23:42 +0100)]
Enforce checkstyle in sfc-netconf module

Checkstyle enforcement for sfc-netconf module
- Protected constructor for utility classes
- Formatting
- Fix Javadocs
- Order imports
- Change attributes names
- Replace catching of generic exceptions
- Remove commented blocks

Change-Id: I84669eb8c62429ab3b6b3377da19f0e4cf95bcfa
Signed-off-by: David Suarez <david.suarez.fuentes@ericsson.com>
8 years agoReplace mockito-all by mockito-core (see Bug 7662) 54/50854/2
Michael Vorburger [Mon, 23 Jan 2017 18:53:22 +0000 (19:53 +0100)]
Replace mockito-all by mockito-core (see Bug 7662)

Change-Id: I884d88f940955788bf7d5f0194183e198c9fad0e
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
8 years agoSplit sfc-vpp-utils bundle from sfc-vpp-renderer for sfc-scf-vpp 00/50500/7
Yi Yang [Thu, 26 Jan 2017 11:39:21 +0000 (19:39 +0800)]
Split sfc-vpp-utils bundle from sfc-vpp-renderer for sfc-scf-vpp

sfc-scf-vpp (SFC VPP classifier) needs to use common APIs from
sfc-vpp-renderer, so split them as a single bundle sfc-vpp-utils
for sharing between sfc-vpp-renderer and sfc-scf-vpp (the following
commit will implement it).

Change-Id: I87e94e484cde388a8d62cee71d48e1ff0201cb11
Signed-off-by: Yi Yang <yi.y.yang@intel.com>
8 years agoMerge "Rename package sfc_lisp to sfclisp to comply with checkstyle."
Yi Yang [Wed, 25 Jan 2017 00:48:21 +0000 (00:48 +0000)]
Merge "Rename package sfc_lisp to sfclisp to comply with checkstyle."

8 years agoRename packages to comply with checkstyle 73/50973/1
David Suarez [Tue, 24 Jan 2017 20:58:37 +0000 (21:58 +0100)]
Rename packages to comply with checkstyle

Rename packages to comply with checkstyle:
- org.opendaylight.sfc.sfc_netconf.provider to
  org.opendaylight.sfc.netconf.provider

- org.opendaylight.sfc.sfc_netconf.provider.api to
  org.opendaylight.sfc.netconf.provider.api.test

Change-Id: I6d5991e820bcebbafbd75e33587b303097f56eda
Signed-off-by: David Suarez <david.suarez.fuentes@ericsson.com>
8 years agoRename package sfc_lisp to sfclisp to comply with checkstyle. 99/50799/1
David Suarez [Sat, 21 Jan 2017 20:54:40 +0000 (21:54 +0100)]
Rename package sfc_lisp to sfclisp to comply with checkstyle.

Change package name to comply with checkstyle

Change-Id: I67b9d1d0430a55683eb6fa0647e0ad685dbeab2c
Signed-off-by: David Suarez <david.suarez.fuentes@ericsson.com>
8 years agoEnforce checkstyle in sfc-model module 53/50553/2
David Suarez [Tue, 17 Jan 2017 14:52:17 +0000 (15:52 +0100)]
Enforce checkstyle in sfc-model module

Checkstyle enforcement for sfc-model module.

Change-Id: I682caf74141441b04a4b34ae66de50b96cf1e8a0
Signed-off-by: David Suarez <david.suarez.fuentes@ericsson.com>
8 years agoBUG-7555. Crash on RSP rendering when using a Logical SFF 11/50511/4
Diego Granados [Mon, 16 Jan 2017 16:17:22 +0000 (17:17 +0100)]
BUG-7555. Crash on RSP rendering when using a Logical SFF

The bug was triggered because of the code uncorrectly comparing two
different DpnIdType objects using the == comparator. Even though
both objects refer to the same dpnid, the objects are not the same,
thus triggering the error path (asking genius for a tunnel interface
between two different compute nodes but passing the same dpnid for
both tunnel ends). Incorrect component tests corrected; an additional
test for the condition will also be included in CSIT

Change-Id: I98158145fc2e8b5ae72989d0d1ef3c7bcdaf7bd1
Signed-off-by: Diego Granados <diego.jesus.granados.lopez@ericsson.com>
8 years agoMerge "Model changes for VXLAN transport/encap"
Yi Yang [Fri, 13 Jan 2017 00:33:35 +0000 (00:33 +0000)]
Merge "Model changes for VXLAN transport/encap"

8 years agoMerge "Clean the usage of boolean expressions"
Brady Johnson [Thu, 12 Jan 2017 11:31:37 +0000 (11:31 +0000)]
Merge "Clean the usage of boolean expressions"

8 years agoClean the usage of boolean expressions 95/50295/2
David Suarez [Wed, 11 Jan 2017 13:56:20 +0000 (14:56 +0100)]
Clean the usage of boolean expressions

Clean the usage of boolean expressions and other minor improvements for
readability.

Change-Id: Ieda16a49c71da3bdc61fc3f2722ab39aba4f6c25
Signed-off-by: David Suarez <david.suarez.fuentes@ericsson.com>
8 years agoModel changes for VXLAN transport/encap 41/50341/1
Brady Johnson [Thu, 12 Jan 2017 09:52:19 +0000 (10:52 +0100)]
Model changes for VXLAN transport/encap

- Added VXLAN transport
- Added single chain SF parameter

Change-Id: Ie2ed5eeffe80ad70bf60062301c12b7a560d0f2f
Signed-off-by: Brady Johnson <brady.allen.johnson@ericsson.com>
8 years agoMake code more explicit and less redundant 81/49981/4
Miguel Duarte [Tue, 3 Jan 2017 10:36:25 +0000 (11:36 +0100)]
Make code more explicit and less redundant

  - Make better use of java types
  - Remove duplicated code
  - Remove compiler warnings

Change-Id: I133728bbfd97994fe3d7a335eddf4f9a4d461094
Signed-off-by: Miguel Duarte <miguel.duarte.de.mora.barroso@ericsson.com>
8 years agoMerge "GUI - Add default redirect on app start"
Brady Johnson [Wed, 11 Jan 2017 14:04:14 +0000 (14:04 +0000)]
Merge "GUI - Add default redirect on app start"

8 years agoGUI - Add default redirect on app start 18/50218/3
Daniel Malachovsky [Tue, 10 Jan 2017 18:54:39 +0000 (19:54 +0100)]
GUI - Add default redirect on app start

Due Dlux split we removed Topology app from odl-dlux-core feature.
There were also default redirect to that app, so it was landing page, when
DLUX was started.
This patch adds default route to GUI in this project.

More info:
https://wiki.opendaylight.org/view/Weather#Rename_some_odl-dlux-.2A_features_to_odl-dluxapps-.2A

Change-Id: I025ffe3403392458207af0fea52b57af75bb22b0
Signed-off-by: Daniel Malachovsky <dmalacho@cisco.com>
8 years agoReplace Arrays.asList by Collections.singletonList. 75/50275/2
David Suarez [Wed, 11 Jan 2017 08:31:36 +0000 (09:31 +0100)]
Replace Arrays.asList by Collections.singletonList.

It is a minor performance improvement.

Change-Id: Ibdb6f42918551465e304735fde357aff2b36c9d8
Signed-off-by: David Suarez <david.suarez.fuentes@ericsson.com>
8 years agoMove sfc-scf-openflow into sfc-classifiers 72/50272/2
Yi Yang [Wed, 11 Jan 2017 07:38:04 +0000 (15:38 +0800)]
Move sfc-scf-openflow into sfc-classifiers

We want to add VPP classifier for sfc, so do this change to adapt to multiple sfc classifiers.

Change-Id: I43c9f5a2a423bb802be533a23161c42828696b6c
Signed-off-by: Yi Yang <yi.y.yang@intel.com>
8 years agosfc104 demo: fix two issues led by proxy environment variable and recent sfc YANG... 65/50265/2
Yi Yang [Wed, 11 Jan 2017 05:45:48 +0000 (13:45 +0800)]
sfc104 demo: fix two issues led by proxy environment variable and recent sfc YANG model changes

Change-Id: Iab4e2515c56ef122bc114c3f9a343df954bdaefe
Signed-off-by: Yi Yang <yi.y.yang@intel.com>
8 years agoMerge "Remove explicit type boxing."
Brady Johnson [Wed, 11 Jan 2017 11:58:49 +0000 (11:58 +0000)]
Merge "Remove explicit type boxing."

8 years agoRemove explicit type boxing. 11/50211/2
David Suarez [Tue, 10 Jan 2017 16:13:26 +0000 (17:13 +0100)]
Remove explicit type boxing.

Autoboxing is applied improving readability.

Change-Id: Ia3388c0e18d1d0b46a1e4bff7f680723b9d3e88e
Signed-off-by: David Suarez <david.suarez.fuentes@ericsson.com>
8 years agoAdd private constructor. 94/50194/2
David Suarez [Tue, 10 Jan 2017 13:53:20 +0000 (14:53 +0100)]
Add private constructor.

Add private constructor to utility class to avoid instantiation.

Change-Id: I194258e406cb3a1d691b7a26c0dcbc63f6de5b2f
Signed-off-by: David Suarez <david.suarez.fuentes@ericsson.com>
8 years agoRefactor the Classifier Processor classes. 11/49711/4
Miguel Duarte [Wed, 21 Dec 2016 15:15:55 +0000 (16:15 +0100)]
Refactor the Classifier Processor classes.

By making the flow generator classes return FlowDetails instead of
FlowBuilders, both the OpenflowClassifierProcessor and the
ClassifierRspsUpdateListener classes are simpler, since they are no
longer responsible of building the FlowDetails object.

The dpdk flow generation was also taken to the classes
implementing the ClassifierInterface (BareClassifier &
LogicallyAttachedClassifier), thus making the processAce simpler.

This enables the processAce and processAcl methods on those classes to
become simpler, thus reducing their cyclomatic complexity - overall
indicator of complexity.

Change-Id: I93af5fc075c19854e417452f62d3afb711c47c51
Signed-off-by: Miguel Duarte <miguel.duarte.de.mora.barroso@ericsson.com>
8 years agoRemove technical debt from the project 10/49710/4
Miguel Duarte [Mon, 19 Dec 2016 10:21:52 +0000 (11:21 +0100)]
Remove technical debt from the project

Break package cycles between scfofrenderer,
scfofrenderer.logicalclassifier, and scfofrenderer.rspupdatelistener
packages.

This was found by analyzing the sonarcube results, and means that these
3 modules are tightly coupled. By restructuring the packages, the
circular dependencies are fixed.

Modified the OpenflowClassifierProcessor, attempting to make it simpler.
In a latter commit, its methods will be split, thus simplifying it quite
a lot.

Change-Id: I00b29c163edb6bdc72ee6c9d2fae7691211049c4
Signed-off-by: Miguel Duarte <miguel.duarte.de.mora.barroso@ericsson.com>
8 years agoModified JSON files in resources to adapt them to deprecated fields in Service Functions 18/50118/3
eabasan [Mon, 9 Jan 2017 08:08:17 +0000 (09:08 +0100)]
Modified JSON files in resources to adapt them to deprecated fields in Service Functions
Added one configuration example using bidirectional field in SF type

Change-Id: I10d872873f6a1f56855788f159b5ac31ac8cf797
Signed-off-by: eabasan <santiago.abascal@ericsson.com>
8 years agoMerge "Removing deprecated SF fields"
Yi Yang [Thu, 22 Dec 2016 00:12:38 +0000 (00:12 +0000)]
Merge "Removing deprecated SF fields"

8 years agoRemoving deprecated SF fields 87/49687/1
Brady Johnson [Thu, 10 Nov 2016 10:29:28 +0000 (11:29 +0100)]
Removing deprecated SF fields

- The SF fields nsh-aware and request-reclassification were
  deprecated in Beryllium. The fields were added to the
  SF-type, so use those instead.

Change-Id: I81d4b3fddd23fb68bed556f73b44c5e9fde7eff6
Signed-off-by: Brady Johnson <brady.allen.johnson@ericsson.com>
8 years agoClassifier reacts to first SF location updates 44/49444/5
Miguel Duarte [Wed, 30 Nov 2016 11:42:39 +0000 (12:42 +0100)]
Classifier reacts to first SF location updates

Whenever the first SF in an RSP migrates to another compute node, the
classifier rules are updated accordingly - whether sending the packet
through a different tunnel connected to the new compute node, or, in
scenarios when the SF moved to the compute node where the classifier is
installed, by jumping directly to the SFC transport ingress table.

The helper methods on the OpenflowClassifierProcessor were moved into a
new class - ClassifierHandler.

The ClassifierRspUpdateDataGetter was finished, providing 2 methods:
  - filter all ACLs whose ACEs impact the supplied RSP
  - filter all ScfClassifier objects that implement those ACLs

The ClassifierRspsUpdateListener was added logic on how to identify the
movement of the first SF in any RSP, and also triggers the classifier
flows update through the ClassifierRspUpdateProcessor.

The ClassifierRspUpdateProcessor follows the same principle of the
OpenflowClassifierProcessor - build all the flows to be installed. A new
class was created to separate the concerns (classifier updates have the
RSP as its single argument, whereas classifier add/delete have the ACL
and the ScfClassifier objects as arguments).

Everything else are tests (+- 600 lines)

Change-Id: I487d98d282b28aefd79d0658fcc50e20897beffa
Signed-off-by: Miguel Duarte <miguel.duarte.de.mora.barroso@ericsson.com>
8 years agoMerge "Deprecating the SFC and RSP symmetric flags"
Yi Yang [Wed, 21 Dec 2016 08:34:09 +0000 (08:34 +0000)]
Merge "Deprecating the SFC and RSP symmetric flags"

8 years agoHandle RSP updates on the classifier APIs 59/49359/4
Miguel Duarte [Wed, 14 Dec 2016 10:11:27 +0000 (11:11 +0100)]
Handle RSP updates on the classifier APIs

The APIs leveraged by the classifier were changed enabling it to update
its flows when the first SF in an RSP migrates to another compute node.

New classes (to be implemented in the next commit):
  - ClassifierRspUpdateDataGetter
This class queries MD-SAL for all ACLs whose ACEs target the supplied
RSPs, and also queries MD-SAL for all Classifiers enforcing the filtered
ACLs.

  - ClassifierRspsUpdateListener
Identifies relevant RSP updates (RSPs whose 1st SF neutron port changed
data-plane IDs), and processes that RSP update - deleting the old
impacted flows, and creating new ones.

API changes:
  - OpenflowClassifierProcessor
The OpenflowClassifierProcessor now *has* a BareClassifier, and a
LogicallyAttachedClassifier object, injected through the constructor.

Which classifier(Bare vs LogicallyAttached) is used for each processed
request depends on the type of SFF to which it is connected to.

  - SfcNshHeader
The SfcNshHeader class now encapsulates an RSP object, which can be set
through a different constructor. Using this allows us to save DS reads
on RSP updates, since we are notified with the new object.

  - SfcScfOfProcessor
The SfcScfOfProcessor class got simpler, and now does not have to
encapsulate and inject the transaction object into the OpenflowWriter
and OpenflowClassifierProcessor.

  - SfcScfOfRenderer
The SfcScfOfRenderer class now also features an update handler for RSPs.
Also, it injects the required dependencies into the
OpenflowClassifierProcessor and OpenflowWriter objects, while making
them share the same transaction objects.

  - SfcOfFlowWriterInterface
The SfcOfFlowWriterInterface and its subclass now encapsulate an
EventBus, and expose a transactional API. Clients that want to share the
same transaction object as the OpenflowWriter register themselves, and
are notified whenever the OpenflowWriter commits a transaction.

Also, the FlowDetails class manipulated by the SfcOfFlowWriterInterface
now encapsulates the used RSP path ID, making it easier / more efficient
for the SfcOfFlowWriterInterface clients to delete a set of related
flows.

Log messages are tuned throughout the classifier code, along with the
used log levels.

Change-Id: I0d61f090bdfec2e58aa0e811988ea9cca32be66c
Signed-off-by: Miguel Duarte <miguel.duarte.de.mora.barroso@ericsson.com>
8 years agoDeprecating the SFC and RSP symmetric flags 46/49546/4
Brady Johnson [Fri, 11 Nov 2016 09:26:07 +0000 (10:26 +0100)]
Deprecating the SFC and RSP symmetric flags

- Chain symmetry is now a function of the SF-type bidirectionality flag
- The SFP symmetry flag, if present, will override the SF-type
  bidirectionality flag
- Minor cleanup of the SfcProviderRpcTest test

Change-Id: I1bbc3a368a28ad69169b640cc729ec69dd17180e
Signed-off-by: Brady Johnson <brady.allen.johnson@ericsson.com>
8 years agoMerge "Add blueprint for sfc-genius module"
Brady Johnson [Wed, 14 Dec 2016 09:58:22 +0000 (09:58 +0000)]
Merge "Add blueprint for sfc-genius module"

8 years agoAdd unit test for logical SFF RSP Processor with SFs in different compute nodes 44/48244/6
eabasan [Fri, 11 Nov 2016 06:52:10 +0000 (07:52 +0100)]
Add unit test for logical SFF RSP Processor with SFs in different compute nodes

Change-Id: Ia74690c081ac514f5c765a207ab9cdb0abcf6ae7
Signed-off-by: eabasan <santiago.abascal@ericsson.com>
8 years agoAdd blueprint for sfc-genius module 08/49308/3
Jaime Caamaño Ruiz [Tue, 13 Dec 2016 16:10:55 +0000 (17:10 +0100)]
Add blueprint for sfc-genius module

Change-Id: Id311dbaca587419fb99217ffba128eb06eba76d4
Signed-off-by: Jaime Caamaño Ruiz <jaime.caamano.ruiz@ericsson.com>
8 years agoBUG 7350: NullPointerException when creating RSP without any topology node connected 88/49288/1
Diego Granados [Tue, 13 Dec 2016 10:08:49 +0000 (11:08 +0100)]
BUG 7350: NullPointerException when creating RSP without any topology node connected

The bug is triggered when looking for a dpdk port during RSP
rendering. An unchecked-for-null iteration is performed in
the topology nodes list. Now the list of nodes is checked
for null before iterating

Change-Id: I8ba5e7532bb34ac1d941ad1761cc1e6601d7020f
Signed-off-by: Diego Granados <diego.jesus.granados.lopez@ericsson.com>
8 years agoBUG 7204 : Typo in method names of sfc-vnfm-tacker 69/48469/3
venkatamahesh [Fri, 18 Nov 2016 10:30:19 +0000 (16:00 +0530)]
BUG 7204 : Typo in method names of sfc-vnfm-tacker

There is a typo in method names of sfc-vnfm-tacker
In this patch it is changed accordingly

Change-Id: I5f2b66979ce9944cb753d68a124b91024cc8c30c
Signed-off-by: venkatamahesh kotha <venkatamaheshkotha@gmail.com>
8 years agoBUG 4221 When deleting a RSP remove symmetric path if necessary 79/48879/5
eceabpe [Thu, 1 Dec 2016 15:24:19 +0000 (16:24 +0100)]
BUG 4221 When deleting a RSP remove symmetric path if necessary

Solution and Unit Test for:
Bug 4221 - When deleting a RSP need to remove symmetric path if it exists

Change-Id: I0466a357eb39b5229ee2f7769285f7184f421bbc
Signed-off-by: eceabpe <alvaro.berlanga@ericsson.com>
8 years agoUpdates to SFC Proof of Transit feature. 66/48766/7
Srihari Raghavan [Tue, 29 Nov 2016 09:17:46 +0000 (14:47 +0530)]
Updates to SFC Proof of Transit feature.

1. Add RPC trigger to enable SFC Proof of Transit feature.
2. Add changes to handle RPC trigger to enable the feature.
3. Augmentation updates to RSP.
4. Add unit tests to verify the changes.
5. Design guide and documentation: https://github.com/ciscoDevNet/iOAM

Change-Id: I195c9b83fb16a5789eab704b862dc918a110344b
Signed-off-by: Srihari Raghavan <srihari@cisco.com>
8 years agoRemove sfc-provider-impl capability from sfc-test-consumer-initial.xml 47/49247/1
Vratko Polak [Mon, 12 Dec 2016 15:02:52 +0000 (16:02 +0100)]
Remove sfc-provider-impl capability from sfc-test-consumer-initial.xml

sfc-provider-impl has been migrated to Blueprint,
so the capability will never appear.

Change-Id: Id14ea9529e8928815fd8f933298bc3f34acfae9f
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
8 years agoRemove sfc-bootstrap module 20/49120/3
David Suarez [Wed, 7 Dec 2016 23:47:58 +0000 (00:47 +0100)]
Remove sfc-bootstrap module

Since SFC is already using Blueprint as dependency injection framework,
the sfc-bootstrap module is not needed anymore.

Change-Id: I2e16c4fe6994c54c8b640d3a18c46a9374136b50
Signed-off-by: David Suarez <david.suarez.fuentes@ericsson.com>
8 years agoBUG 7269: System Info tab,no data displayed 68/49168/2
Alberto Quintana Heras [Fri, 9 Dec 2016 07:24:39 +0000 (08:24 +0100)]
BUG 7269: System Info tab,no data displayed

Added parameter to call SfcRestangularSvc.getCurrentInstance().oneUrl
When enter to System Info tab, debugging javascript, an error
is displayed in the console.

Change-Id: Ic86186e0fd89cfbee01cab8db7a3b8864ef1a6cb
Signed-off-by: Alberto Quintana Heras <alberto.quintanaheras@altran.com>
8 years agoMerge "Fix clearly badly broken Blueprint wiring"
Brady Johnson [Fri, 9 Dec 2016 08:51:30 +0000 (08:51 +0000)]
Merge "Fix clearly badly broken Blueprint wiring"

8 years agoFix clearly badly broken Blueprint wiring 51/49151/1
Michael Vorburger [Thu, 8 Dec 2016 14:42:22 +0000 (15:42 +0100)]
Fix clearly badly broken Blueprint wiring

Unable to find property descriptor dataProvider on class
org.opendaylight.sfc.sfc_netconf.provider.api.SfcNetconfServiceFunctionAPI
org.osgi.service.blueprint.container.ComponentDefinitionException: Unable
to find property descriptor dataProvider on class
org.opendaylight.sfc.sfc_netconf.provider.api.SfcNetconfServiceFunctionAPI

Indeed SfcNetconfServiceFunctionAPI's setDataProvider() method is static,
so you cannot do <property name="dataProvider" ref="dataBroker"/> for
<bean id="sfcnetconfservicefunctionapi"
  class="org.opendaylight.sfc.sfc_netconf.provider.api.SfcNetconfServiceFunctionAPI">

Thus, at the very least, you would need a fake non-static setter there,
(although that's very ugly, static-is-evil; but that's beyond this change).

Change-Id: I6cc200b0e0fbde25ae3c9bf637272a4362479e07
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
8 years agoMinor refactor of the VPP Renderer 54/48454/6
Brady Johnson [Thu, 17 Nov 2016 14:14:28 +0000 (15:14 +0100)]
Minor refactor of the VPP Renderer

- removing circular dependencies between listener and renderer packages
- changing listeners to use AbstractDataTreeChangeListener
- patchSet 4: changes due to code review comments

Change-Id: Ie97634be1cfdbe014df771b65bc501e4128eec1c
Signed-off-by: Brady Johnson <brady.allen.johnson@ericsson.com>
8 years agoBUG 6347: Fine tune RSP removal on SFF update 61/48661/3
Jaime Caamaño Ruiz [Thu, 24 Nov 2016 13:50:10 +0000 (14:50 +0100)]
BUG 6347: Fine tune RSP removal on SFF update

Remove only RSPs affected by SFF dictionary change. If a dictionary
entry is changed or removed, an RSP with a hop on that SFF for the SF
corresponding to that dictionary entry will be removed. Otherwise, it
won't be removed for such a change.

Change-Id: I945bb725f620fd48d5e9bb279b27bdedf43831db
Signed-off-by: Jaime Caamaño Ruiz <jaime.caamano.ruiz@ericsson.com>
8 years agoFix comparison of required and available capabilities 29/48829/1
Michal Rehak [Wed, 30 Nov 2016 14:14:53 +0000 (15:14 +0100)]
Fix comparison of required and available capabilities

    - upon netconf node capabilities are compared. But
      because of model change in netconf available
      capabilities are no longer plain list of strings.
      Currently netconf provides a AvailableCapability
      object with additional leaves and string names
      must be extracted first and then compared.

Change-Id: Ia4e17a55cc8ab04714fb5b53a882e148593089ad
Signed-off-by: Michal Rehak <mirehak@cisco.com>
8 years agoBUG 7243 : Modify the checkbox text color to be visible 63/48763/1
venkatamahesh [Tue, 29 Nov 2016 08:46:31 +0000 (14:16 +0530)]
BUG 7243 : Modify the checkbox text color to be visible

At present the text is not visible as it sync with background
color. In this patch I have modified to be visible to users

Change-Id: I2ecc90b42a4664610e188b21c4c225ee586ed1f5
Signed-off-by: venkatamahesh kotha <venkatamaheshkotha@gmail.com>
8 years agoAdd empty checkstyle-suppressions.xml 54/48754/1
Jaime Caamaño Ruiz [Mon, 28 Nov 2016 19:07:25 +0000 (20:07 +0100)]
Add empty checkstyle-suppressions.xml

Due to change 48715 [0] in odlparent, now checkstyle configuration
inherited from odlparent looks for a checkstyle-suppressions.xml file.
Rather than overriding the configuration, an empty file to add
exceptions in the future is added. This fixes a build failure.

 [0] https://git.opendaylight.org/gerrit/#/c/48715/

Change-Id: I4aa18385c73b2f7f25373a4affb56fab23efee18
Signed-off-by: Jaime Caamaño Ruiz <jaime.caamano.ruiz@ericsson.com>
8 years agoMerge "BUG 7242 : Correction in the command for starting sfc_agent"
Brady Johnson [Mon, 28 Nov 2016 09:58:47 +0000 (09:58 +0000)]
Merge "BUG 7242 : Correction in the command for starting sfc_agent"

8 years agoMerge "Integrate classifier w/ genius - commit #3"
Brady Johnson [Mon, 28 Nov 2016 09:54:51 +0000 (09:54 +0000)]
Merge "Integrate classifier w/ genius - commit #3"

8 years agoBUG 7242 : Correction in the command for starting sfc_agent 99/48699/2
venkatamahesh [Fri, 25 Nov 2016 13:19:20 +0000 (18:49 +0530)]
BUG 7242 : Correction in the command for starting sfc_agent

When we execute with the specified command it is throwing error
as we are not specifying .py to sfc_agent. If we execute with
.py extension there is no errors

Change-Id: Iba8bf04d8e74d84e3109bf48470f61576eddc90a
Signed-off-by: venkatamahesh kotha <venkatamaheshkotha@gmail.com>
8 years agoIntegrate classifier w/ genius - commit #3 76/48476/3
Miguel Duarte [Fri, 18 Nov 2016 12:36:50 +0000 (13:36 +0100)]
Integrate classifier w/ genius - commit #3

This commit finishes the integration of the current SFC classifier w/
genius.

The remaining methods of the API providing in the previous commits are
implemented, specifically:

The genius service binding w/ the interfaces to classify is finished,
and is called from the OpenflowClassifierProcessor.

The LogicalClassifierDataGetter is finished, providing all necessary
data-retrieval methods required by the LogicallyAttachedClassifier.

The flow generation logic made in the LogicallyAttachedClassifier is
finished.

Unit testing of the remaining classes is added.

Quicker bail-out of the openflowWriter when no flows are to be writen or
deleted.

Change-Id: I52755b98fc3eeb2f78c8afd90f4d83c6f65ae527
Signed-off-by: Miguel Duarte <miguel.duarte.de.mora.barroso@ericsson.com>
8 years agoBUG 7171: ACL configuration via GUI Broken 81/48681/3
swatideshpande [Thu, 24 Nov 2016 18:57:39 +0000 (10:57 -0800)]
BUG 7171: ACL configuration via GUI Broken

The current yang model for ACLs is ietf-access-control-list(2016-02-18).
sfc-ui, is constructing ACL requests as per
ietf-acces-control-list(2015-03-17)causing breakage.

The acl key has changed from "acl-name" to "acl-type acl-name",
in Rev 2016-02-18.

Fix done in sfc-ui module for acl key change as well as schema change
for all ietf-access-list config requests.
Input box added to "Create Access List" screen for configuring ACL Type.
Fix added for service-classifier requests to adhere to yang model Rev
service-function-classifier(2014-07-01)

Change-Id: I7947047d1cf08fbb8104f040de04d786e9faefa1
Signed-off-by: swatideshpande <swati.deshpande@serro.com>
8 years agoMerge "Integrate classifier w/ genius - commit #2"
Yi Yang [Fri, 25 Nov 2016 01:27:44 +0000 (01:27 +0000)]
Merge "Integrate classifier w/ genius - commit #2"

8 years agoRedundant if(x>0) brushing befor for( ;x<0; ) 66/48666/2
guillermo tomasini [Thu, 24 Nov 2016 14:49:06 +0000 (15:49 +0100)]
Redundant if(x>0) brushing befor for( ;x<0; )

Change-Id: I2477c76b1558ca49aec4a0946efa37325728cd0c
Author: Guillermo Tomasini <guillermo.pablo.tomasini.redonas@ericsson.com>
Signed-off-by: guillermo tomasini <guillermo.pablo.tomasini.redondas@ericsson.com>
8 years agoIntegrate classifier w/ genius - commit #2 46/48446/8
Miguel Duarte [Fri, 18 Nov 2016 11:26:32 +0000 (12:26 +0100)]
Integrate classifier w/ genius - commit #2

Major refactor of the SfcScfOfProcessor class, which had too many
responsabilities. These were split among the following classes:

SfcScfOfProcessor:
Processes adding classifier flows into a number of OVS switches.
Client of the OpenflowClassifierProcessor class, from which it gets
a list of all the flows to install among the OVSs, writing them in a
single transaction object.

OpenflowClassifierProcessor:
Encapsulates a transaction object, and processes the creation of
ACLs (along w/ respective ACEs) into the OVS switches.
Client of the LogicallyAttachedClassifier class.

ClassifierInterface:
Responsible for building the classifier flows required for the
logical SFF feature. WIP, and will feature in the next commit.
There are 2 types of ClassifierInterface:
  - LogicallyAttachedClassifier - empty implementation; will be uploaded
    in the next commit
  - BareClassifier - 'Legacy' scenario, moved into a wrapper class

LogicalClassifierDataGetter:
Utility class used to fetch data relevant to the OpenflowClassifier
Processor and the LogicallyAttached classifier.
Encapsulates the genius RPC, and fetches data from genius, SFC, and
IETF data models. WIP, and will feature in the next commit.

The SfcScfOfUtils are also refactored, building the required flows, so
that the SfcScfOfProcessor can install them afterwards, in a single
transaction object.

Blueprint injection of the RpcProvider (required for the logical SFF
feature).

Add unit testing of the legacy scenarios, and well as w/ DPDK flow
generation.

In this commit, while the way the classifier works is drastically
changed, no new functionallity is added. It finished paving the way
for integrating the new feature, making it easier to be understood,
and easier to unit test.

In the next - and last - commit, I will complete the APIs of the
forementioned classes, thus enabling the classifier to be attached
to a logical SFF.

Change-Id: I8c59078b8b04b4e8cb49e85a779f2d4940c1e546
Signed-off-by: Miguel Duarte <miguel.duarte.de.mora.barroso@ericsson.com>
8 years agosfc104 demo: check openflow renderer and sfc classifier initialization 51/48651/2
Yi Yang [Thu, 24 Nov 2016 07:49:39 +0000 (15:49 +0800)]
sfc104 demo: check openflow renderer and sfc classifier initialization

- sleep longer time for vpp node connection
- check openflow renderer and sfc classifier initialization

Change-Id: Ia77b930ed4412306bce4523e1d4ee4461e075c35
Signed-off-by: Yi Yang <yi.y.yang@intel.com>
8 years agovpp renderer: fix netconf node capabilities check issue 50/48650/1
Yi Yang [Thu, 24 Nov 2016 07:32:26 +0000 (15:32 +0800)]
vpp renderer: fix netconf node capabilities check issue

netconf project commit ebce6c1ba9a22e420c87b45e5b20501dc7047730
broke vpp renderer, it changed netconf node topology model
, vpp renderer is using it to check if a netconf node is vpp
node or not.

This fix is to adapt to new netconf node topology model, it has
been verified in sfc104 vpp demo.

Change-Id: I191fdb298d560b207ab2cc20fc9e13f2f9730ebe
Signed-off-by: Yi Yang <yi.y.yang@intel.com>
8 years agoMinor cleanup of sfc-provider unit tests 30/48530/2
Brady Johnson [Mon, 21 Nov 2016 11:17:52 +0000 (12:17 +0100)]
Minor cleanup of sfc-provider unit tests

- removed all warnings
- removed old references to the removed OpendaylightSfc class
- removed duplicate entry in sfc-model/pom.xml
- patchSet 2: addressed code review comments

Change-Id: I149acf7c7e84ee98ffe12f2604bc15a78a87846f
Signed-off-by: Brady Johnson <brady.allen.johnson@ericsson.com>
8 years agoFix a bug in the refactored ScfListener 73/48473/2
Miguel Duarte [Fri, 18 Nov 2016 11:35:40 +0000 (12:35 +0100)]
Fix a bug in the refactored ScfListener

The SfcScfOfDataListener was recently refactored, replacing the
onDataChanged notification method by an onDataTreeChanged method.

In that change, the lines that initializes/closes the listeners got
lost, making the SCF feature deaf/blind to classifiers being added /
deleted.

Change-Id: I77104b30c87939156cd4458fef4a6f9859bbbabe
Signed-off-by: Miguel Duarte <miguel.duarte.de.mora.barroso@ericsson.com>
8 years agoRemove flake8 warnings from sfc-test 67/48467/2
George Paraskevopoulos [Fri, 18 Nov 2016 10:08:39 +0000 (12:08 +0200)]
Remove flake8 warnings from sfc-test

Change-Id: Ie2a1bcd11ee6095e62158ffaf9cb24246f588967
Signed-off-by: George Paraskevopoulos <geopar@intracom-telecom.com>
8 years agoBUG 7196 : Doc style changes to README file 36/48436/4
venkatamahesh [Thu, 17 Nov 2016 12:32:45 +0000 (18:02 +0530)]
BUG 7196 : Doc style changes to README file

At present the commands in this file are combined with
text lines. In this patch I have modified the style to
quick understanding.

Signed-off-by: venkatamahesh kotha <venkatamaheshkotha@gmail.com>
Change-Id: I60d163b94b649f6bafc40abaf00c7a8e75b5ba84

8 years agoRemoving last parts of the old renamed SFCOFL2 feature 95/48395/3
Brady Johnson [Wed, 16 Nov 2016 09:08:19 +0000 (10:08 +0100)]
Removing last parts of the old renamed SFCOFL2 feature

- The feature was still in the karaf features as deprecated.
  It has now been removed.
- There was a stale reference to sfcofl2 in the pom.xml

Change-Id: I88b465977fd4cc65872e30763113c09114dae987
Signed-off-by: Brady Johnson <brady.allen.johnson@ericsson.com>
8 years agoReplace onDataChanged method in SfcScfOfDataListener 09/48409/2
Ursicio Martin [Wed, 16 Nov 2016 13:52:29 +0000 (14:52 +0100)]
Replace onDataChanged method in SfcScfOfDataListener

Change-Id: I3bf931099d86287cf0deeba68c1406b8dc658fc7
Signed-off-by: Ursicio Martin <ursicio.javier.martin@ericsson.com>
8 years agoNo prefix required for type parameter of SF 98/48398/2
swatideshpande [Wed, 16 Nov 2016 12:33:13 +0000 (04:33 -0800)]
No prefix required for type parameter of SF

sfc-ui,is adding prefix "service-function-type:" for SF type.
i.e if Service Function type is selected as 'firewall',SF type gets set
as "type":"service-function-type:firewall".

The prefix is not required to be added, it suffices to set type as
firewall/dpi/ids etc. The prefix is causing SF creation failure in
sfc_agent.

Bug:7179
Change-Id: I26381def21b987ff9b1ef46a0493791222e76ddd
Signed-off-by: swatideshpande <swati.deshpande@serro.com>
8 years agoNew configuration examples for SFC - Logical SFF 95/47895/6
eceujmm [Thu, 3 Nov 2016 14:19:39 +0000 (15:19 +0100)]
New configuration examples for SFC - Logical SFF

Change-Id: I07699cdd531576de3f030d22bc6cdc52bca54a26
Signed-off-by: eceujmm <ursicio.javier.martin@ericsson.com>
8 years agoAdd XML encoding to pom.xml and formatting. 27/48327/3
David Suarez [Mon, 14 Nov 2016 16:06:03 +0000 (17:06 +0100)]
Add XML encoding to pom.xml and formatting.

Change-Id: I5eef334cb47ae509dba0bdb0d946fa283adc7476
Signed-off-by: David Suarez <david.suarez.fuentes@ericsson.com>
8 years agoIntegrate classifier w/ genius - commit #1 60/48260/6
Miguel Duarte [Fri, 11 Nov 2016 13:14:01 +0000 (14:14 +0100)]
Integrate classifier w/ genius - commit #1

For the logical SFF feature, the existent SFC classifier has to be
integrated w/ genius, for 2 reasons:
  - currently, it writes to table 0, which is owned by genius. It should
    write to a different table
  - logical sff requires the classifier to steer packets based on the
    dpn IDs of the OVS switches hosted in the compute nodes where the
    classifier / first SFF are located

This commit prepares the ground for that functionality, which will be
added in the next commit.

The genius service binding is exposed as an API, thus
enabling the classifier to leverage it.

The openflow writer, is also exposed as an API, thus enabling the
classifier to also leverage its functionallity (install multiple flows
within the same transaction object).
  - Trasactional support for the classifier was not used, but for
    logical SFF scenarios *is* required, because we cannot bind an
    interface to genius and not install its respective flows.

Additionally, the TableIndexMapper is also modified, registering the
classifier table.

Finally, the one of the geniusRPCs is also modified, allowing for an
offset to be added - this way, the actions gotten from genius can be
appended to another list of actions.

Change-Id: If849f5f3f66ef295c48d76e0bc52d9b57d8891c4
Signed-off-by: Miguel Duarte <miguel.duarte.de.mora.barroso@ericsson.com>
8 years agoReplace deprecated DataChangeListener in SF Scheduler Type 14/48214/6
eceujmm [Thu, 10 Nov 2016 14:34:39 +0000 (15:34 +0100)]
Replace deprecated DataChangeListener in SF Scheduler Type

Change-Id: I793dda563e6e4788d8f5bbb6d1b36dc4cf4828f7
Signed-off-by: eceujmm <ursicio.javier.martin@ericsson.com>
8 years agoSfcGeniusRpcClient singleton removal 01/47901/9
Diego Granados [Thu, 3 Nov 2016 15:21:30 +0000 (16:21 +0100)]
SfcGeniusRpcClient singleton removal

SfcGeniusRpcClient implementation as a singleton was temporary: done
that way in order not to interfere with upcoming blueprint impl,
but needed to be fixed (e.g. it was making component test harder).
Fixed

Change-Id: Ief23609b13396cae35c3fe2c06027ce5b284d4b8
Signed-off-by: Diego Granados <diego.jesus.granados.lopez@ericsson.com>
8 years agoChange clustered listener by the single one. 50/48350/2
David Suarez [Tue, 15 Nov 2016 08:41:09 +0000 (09:41 +0100)]
Change clustered listener by the single one.

Change clustered listener by the single one since there is no
need for all the cluster members to get notified.

Minor changes in Copyrights.

Change-Id: I1d9067bd15a46f0e9fac917d3af1207df848b48d
Signed-off-by: David Suarez <david.suarez.fuentes@ericsson.com>
8 years agoBug 7181 - "Bug 6768: The OpendaylightSfc class should be refactored..." has a bug... 21/48321/2
guillermo tomasini [Mon, 14 Nov 2016 15:24:06 +0000 (16:24 +0100)]
Bug 7181 - "Bug 6768: The OpendaylightSfc class should be refactored..." has a bug in sfc-provider.xml

Change-Id: Ib0174acf337e755fd12db0e6823c48dc50af9e17
Signed-off-by: g tomasini <guillermo.pablo.tomasini.redondas@ericsson.com>
8 years agoReorder the organization to avoid YANG editor complaints. 33/48233/1
David Suarez [Thu, 10 Nov 2016 20:02:10 +0000 (21:02 +0100)]
Reorder the organization to avoid YANG editor complaints.

Minor change to avoid YANG editor complaints.

Change-Id: Ia4fca6cfa050a9030e300b32721fd265d0123167
Signed-off-by: David Suarez <david.suarez.fuentes@ericsson.com>
8 years agoBug 6768: The OpendaylightSfc class should be refactored... 48/46348/16
guillermo tomasini [Tue, 11 Oct 2016 13:09:48 +0000 (15:09 +0200)]
Bug 6768: The OpendaylightSfc class should be refactored...

Change-Id: I0e079aecee87768e40787b2a86209b7b36d30e9e
Signed-off-by: g tomasini <guillermo.pablo.tomasini.redondas@ericsson.com>
8 years agoEnable activation of feature odl-sfc-genius 00/46300/3
Jaime Caamaño Ruiz [Thu, 29 Sep 2016 14:26:55 +0000 (16:26 +0200)]
Enable activation of feature odl-sfc-genius

Add feature 'odl-sfc-genius' that functionally enables SFC integration
with Genius. This allows configuring a logical SFF and SFs attached to
this logical SFF via logical ports/interfaces (i.e. neutron ports).

Change-Id: Ieaec3f68d9bbb74324f97d5406b97176f35a1f20
Signed-off-by: Jaime Caamaño Ruiz <jaime.caamano.ruiz@ericsson.com>
8 years agoMerge "Add a load/path-aware Service Function Scheduler API."
Brady Johnson [Thu, 10 Nov 2016 07:44:27 +0000 (07:44 +0000)]
Merge "Add a load/path-aware Service Function Scheduler API."

8 years agoAdd a load/path-aware Service Function Scheduler API. 32/46932/2
Dongeun Suh [Fri, 14 Oct 2016 06:47:32 +0000 (15:47 +0900)]
Add a load/path-aware Service Function Scheduler API.

Most of the scheduler code are based on the two existing Service Function Schedulers
(SfcServiceFunctionLoadBalanceSchedulerAPI.java, SfcServiceFunctionLoadBalanceSchedulerAPI.java)

Change-Id: I4dc98dd7da07308a50c23bf76343ab031d42e23a
Signed-off-by: Dongeun Suh <dongeunsuh@gmail.com>
8 years agoAdd sfc104 demo 31/47831/7
Yi Yang [Wed, 2 Nov 2016 11:34:26 +0000 (19:34 +0800)]
Add sfc104 demo

Current sfc103 demo is totoally docker container based, so it can't run with OVS DPDK and VPP.

This sfc104 demo has many improvements compared to sfc103 demo, including:

  * Only install a VM once, then import this new VM for all Classifiers, SFs and SFFs.
  * VMs can be used for demos repeatedly, you mustn't repeat VMs installation.
  * ODL SFC is started by you instead of this demo, so you can use this demo to test your ODL SFC development branch.
  * it includes three demos for OVS, OVS DPDK and VPP, respectively. These demos leverage the same vagrant VMs, so you are unncessary to create new vagrant VMs.
  * You can copy sfc104 to any other place to run, it doesn't depend on any other sfc code.

Change-Id: I95f5d153ddde09e49bc934905931fe789408b4e3
Signed-off-by: Yi Yang <yi.y.yang@intel.com>
8 years agoUpdate RSP on VM migration for sfc-genius 29/47429/12
Jaime Caamaño Ruiz [Fri, 30 Sep 2016 15:08:17 +0000 (17:08 +0200)]
Update RSP on VM migration for sfc-genius

A VM migration is detected when the interface state corresponding to
the neutron port is created. This signals the end of a process that
started when that interface state was previously removed.

Once the interface state is created, all the RSPs relying on that
interface are re-rendered. This is achieved by first deleting the RSP
and then creating it again.

Change-Id: Ia1564976540a0eae2fd3ccfe3f9c5d59b63e1424
Signed-off-by: Jaime Caamaño Ruiz <jaime.caamano.ruiz@ericsson.com>
8 years agoUnit Test for ServiceFunctionClassifierListener 91/47891/4
eceujmm [Thu, 3 Nov 2016 13:29:09 +0000 (14:29 +0100)]
Unit Test for ServiceFunctionClassifierListener

Change-Id: Ib3ddede453888d216d53a43cc0a9031b1a7e5a32
Signed-off-by: eceujmm <ursicio.javier.martin@ericsson.com>