From 712e87d55084b804b677caeef0ee0c62e007493d Mon Sep 17 00:00:00 2001 From: Tomas Slusny Date: Fri, 11 Nov 2016 12:25:27 +0100 Subject: [PATCH] Create YANG builders for all relevant model types Add new *message builders to flow, group, meter and port YANG models to allow us to serialize and deserialize them properly. Add dependency on openflowjava for model-flow-base Update set-tp-src and set-tp-dst yang with ip-protocol See also: bug 7137 Change-Id: Ie552e5b06778ec0d0d803e34b9628fb1c627d1ab Signed-off-by: Tomas Slusny --- features-he/src/main/features/features.xml | 5 +++-- features/src/main/features/features.xml | 1 + model/model-flow-base/pom.xml | 4 ++++ .../src/main/yang/opendaylight-action-types.yang | 10 ++++++++++ .../src/main/yang/opendaylight-flow-types.yang | 11 +++++++++++ .../src/main/yang/opendaylight-group-types.yang | 14 ++++++++++++-- .../src/main/yang/opendaylight-meter-types.yang | 11 +++++++++++ .../src/main/yang/opendaylight-port-types.yang | 8 +++++++- 8 files changed, 59 insertions(+), 5 deletions(-) diff --git a/features-he/src/main/features/features.xml b/features-he/src/main/features/features.xml index 3a8ccfe971..e5bf0fcedb 100644 --- a/features-he/src/main/features/features.xml +++ b/features-he/src/main/features/features.xml @@ -63,9 +63,10 @@ description="OpenDaylight :: OpenflowPlugin :: NSF :: Model"> odl-mdsal-models - mvn:org.opendaylight.controller.model/model-inventory/{{VERSION}} - mvn:org.opendaylight.controller.model/model-topology/{{VERSION}} + mvn:org.opendaylight.controller.model/model-inventory/{{VERSION}} + mvn:org.opendaylight.controller.model/model-topology/{{VERSION}} + odl-openflowjava-protocol mvn:org.opendaylight.openflowplugin.model/model-flow-base/{{VERSION}} mvn:org.opendaylight.openflowplugin.model/model-flow-statistics/{{VERSION}} mvn:org.opendaylight.openflowplugin.model/model-flow-service/{{VERSION}} diff --git a/features/src/main/features/features.xml b/features/src/main/features/features.xml index 759b551dc8..b14caa1be3 100644 --- a/features/src/main/features/features.xml +++ b/features/src/main/features/features.xml @@ -59,6 +59,7 @@ mvn:org.opendaylight.controller.model/model-inventory/{{VERSION}} mvn:org.opendaylight.controller.model/model-topology/{{VERSION}} + odl-openflowjava-protocol mvn:org.opendaylight.openflowplugin.model/model-flow-base/{{VERSION}} mvn:org.opendaylight.openflowplugin.model/model-flow-statistics/{{VERSION}} mvn:org.opendaylight.openflowplugin.model/model-flow-service/{{VERSION}} diff --git a/model/model-flow-base/pom.xml b/model/model-flow-base/pom.xml index 9ed1619afe..268436dfed 100644 --- a/model/model-flow-base/pom.xml +++ b/model/model-flow-base/pom.xml @@ -20,6 +20,10 @@ org.opendaylight.mdsal.model opendaylight-l2-types + + org.opendaylight.openflowjava + openflow-protocol-api + diff --git a/model/model-flow-base/src/main/yang/opendaylight-action-types.yang b/model/model-flow-base/src/main/yang/opendaylight-action-types.yang index 86f35e97e8..efc8616acd 100644 --- a/model/model-flow-base/src/main/yang/opendaylight-action-types.yang +++ b/model/model-flow-base/src/main/yang/opendaylight-action-types.yang @@ -310,6 +310,11 @@ module opendaylight-action-types { leaf port { type inet:port-number; } + leaf ip-protocol { + description "IP protocol."; + type uint8; + default 0; + } } } @@ -318,6 +323,11 @@ module opendaylight-action-types { leaf port { type inet:port-number; } + leaf ip-protocol { + description "IP protocol."; + type uint8; + default 0; + } } } diff --git a/model/model-flow-base/src/main/yang/opendaylight-flow-types.yang b/model/model-flow-base/src/main/yang/opendaylight-flow-types.yang index 9de9cb7215..b07c4bfe2b 100644 --- a/model/model-flow-base/src/main/yang/opendaylight-flow-types.yang +++ b/model/model-flow-base/src/main/yang/opendaylight-flow-types.yang @@ -6,6 +6,8 @@ module opendaylight-flow-types { import opendaylight-match-types {prefix match; revision-date "2013-10-26";} import opendaylight-action-types {prefix action;} import opendaylight-meter-types {prefix meter; revision-date "2013-09-18";} + import openflow-protocol { prefix ofproto; revision-date "2013-07-31"; } + import openflow-types { prefix oft; revision-date "2013-07-31"; } revision "2013-10-26" { description "Initial revision of flow service"; @@ -268,4 +270,13 @@ module opendaylight-flow-types { uses match:match; } } + + container flow-message { + uses flow; + uses ofproto:ofHeader; + + leaf command { + type oft:flow-mod-command; + } + } } diff --git a/model/model-flow-base/src/main/yang/opendaylight-group-types.yang b/model/model-flow-base/src/main/yang/opendaylight-group-types.yang index 42f94104ed..e012172a1b 100644 --- a/model/model-flow-base/src/main/yang/opendaylight-group-types.yang +++ b/model/model-flow-base/src/main/yang/opendaylight-group-types.yang @@ -4,6 +4,8 @@ module opendaylight-group-types { import ietf-yang-types {prefix yang; revision-date "2013-07-15";} import opendaylight-action-types {prefix action;} + import openflow-protocol { prefix ofproto; revision-date "2013-07-31"; } + import openflow-types { prefix oft; revision-date "2013-07-31"; } revision "2013-10-18" { description "Initial revision of group service"; @@ -214,7 +216,7 @@ module opendaylight-group-types { } } - + grouping group-statistics-reply { list group-stats { @@ -249,5 +251,13 @@ module opendaylight-group-types { uses group; } } - + + container group-message { + uses group; + uses ofproto:ofHeader; + + leaf command { + type oft:group-mod-command; + } + } } diff --git a/model/model-flow-base/src/main/yang/opendaylight-meter-types.yang b/model/model-flow-base/src/main/yang/opendaylight-meter-types.yang index 0f9f89c45f..a6c7af67ce 100644 --- a/model/model-flow-base/src/main/yang/opendaylight-meter-types.yang +++ b/model/model-flow-base/src/main/yang/opendaylight-meter-types.yang @@ -3,6 +3,8 @@ module opendaylight-meter-types { prefix meter; import ietf-yang-types {prefix yang; revision-date "2013-07-15";} + import openflow-protocol { prefix ofproto; revision-date "2013-07-31"; } + import openflow-types { prefix oft; revision-date "2013-07-31"; } revision "2013-09-18" { @@ -277,5 +279,14 @@ module opendaylight-meter-types { grouping meter-features-reply { uses meter-features; } + + container meter-message { + uses meter; + uses ofproto:ofHeader; + + leaf command { + type oft:meter-mod-command; + } + } } diff --git a/model/model-flow-base/src/main/yang/opendaylight-port-types.yang b/model/model-flow-base/src/main/yang/opendaylight-port-types.yang index d1ed3c489d..bc0da3629b 100644 --- a/model/model-flow-base/src/main/yang/opendaylight-port-types.yang +++ b/model/model-flow-base/src/main/yang/opendaylight-port-types.yang @@ -4,7 +4,8 @@ module opendaylight-port-types { import ietf-yang-types {prefix yang; revision-date "2013-07-15";} import opendaylight-queue-types {prefix queue-types; revision-date "2013-09-25";} - + import openflow-protocol { prefix ofproto; revision-date "2013-07-31"; } + revision "2013-09-25" { description "Initial revision of Port Inventory model"; } @@ -178,4 +179,9 @@ module opendaylight-port-types { } } } + + container port-message { + uses common-port; + uses ofproto:ofHeader; + } } -- 2.36.6