Flow request containing an invalid action should be rejected

When ODL Controller receives a request to install a flow, it is processed
by FlowConfig class in forwardingrulesmanager bundle. There is method
named "validate" which validates the matches and actions specified in
the flow request. If this method encounters an invalid action, it simply
ignores it and moves to the next action. The result of this behavior is that
if flow request contains only one action and it happens to be invalid,
the FlowMod request will be sent to the switch without any action. An
OVS conforming switch will install this flow and set the action to drop.
However, ideally Controller should reject this request (or any request
containing an invalid action).

Few invalid unit test cases were also escaping due to this error, which
have been corrected.

Change-Id: I4df3226d6ec9c663476cae1991c194bc36cb2f99
Signed-off-by: maquresh <maquresh@cisco.com>
Fixed incorrect XML test suites & Usage of removed API

Change in underlying YANG Tools codec, unvereded
that there were test-suites which did string
comparison for testing of XML responses and
any change in XML serialization (valid from
XML point-of-view) triggered this tests to
fail.

Reworked offending tests to use XML W3C Document
for testing instead of string comparison and regexes.

Change-Id: Ib6e35e8d2fe79275666235370d1dda461277a59f
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Bug 1352: Added regression test to InMemory Data Store.

Change-Id: Ia3a4e332c275d6dfdf9dafd2dfc433de15dbcb6f
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Change put/merge methods to be type-safe in WriteTransaction

Removed declaration of put/merge methods from the common
AsyncWriteTransaction interface.

Defined put/merge methods in the derived Binding and DOM interfaces.
The Binding methods were made type-safe.

Javadoc usage/examples for the methods was put into the
AsyncWriteTransaction class docs and is linked to by the derived
interfaces.

This change is source-code compatible - no client code needs to change
(unless a client actually is incompatible path and data).

Change-Id: I779f6477f1c98e299c5d559043da612be97bfbe6
Signed-off-by: tpantelis <tpanteli@brocade.com>
Merge "Change put/merge methods to be type-safe in WriteTransaction"
Merge "Flow request containing an invalid action should be rejected"
BUG 1379 - rpcs behind yang-ext:mount aren't always executed

new corrected behavior:
If rpc is from device behing yang-ext:mount and it doesn't exist in
controller then it is ALSO executed.

Change-Id: Ieebf2522b39cd42a8da57b05cf49e528c924f7ba
Signed-off-by: Jozef Gloncak <jgloncak@cisco.com>
Merge branch 'master' of https://git.opendaylight.org/gerrit/p/controller
Add Tunnel Source flow rules to handle egress traffic