From a736959174f81467f59a45c1a913ae37ded9697a Mon Sep 17 00:00:00 2001 From: Hongjun Ni Date: Fri, 2 Sep 2016 22:18:43 +0800 Subject: HONEYCOMB-46: Add NSH_SFC Feature in Honeycomb Cherry pick to master PatchSet 9: Remove unused imports PatchSet 8: Fix interface DI broken PatchSet 7: Move VppNshModule to distribution PatchSet 2: Augment with encap-if-name for nsh-map Change-Id: Ia12afb72edfe804f26b84021b997d55db3129933 Signed-off-by: Hongjun Ni --- nsh/api/src/main/yang/vpp-nsh.yang | 48 +++++++++++++++++++++----------------- 1 file changed, 27 insertions(+), 21 deletions(-) (limited to 'nsh/api/src/main') diff --git a/nsh/api/src/main/yang/vpp-nsh.yang b/nsh/api/src/main/yang/vpp-nsh.yang index 50dfe8e68..47565ce49 100644 --- a/nsh/api/src/main/yang/vpp-nsh.yang +++ b/nsh/api/src/main/yang/vpp-nsh.yang @@ -66,12 +66,12 @@ module vpp-nsh { description "encap type"; } - identity vxlan-gpe-encap-type { + identity vxlan-gpe { base "encap-type"; description "vxlan-gpe encap type"; } - identity vxlan-encap-type { + identity vxlan { base "encap-type"; description "vxlan encap type"; } @@ -121,7 +121,9 @@ module vpp-nsh { } grouping nsh-md-type2-attributes { - + leaf type { + type uint32; + } } grouping nsh-entry-base-attributes { @@ -181,9 +183,13 @@ module vpp-nsh { leaf encap-type { type nsh-encap-type; } + leaf encap-if-name { + type string; + description "Interface Name"; + } } - container nsh { + container vpp-nsh { description "NSH config data"; @@ -210,31 +216,19 @@ module vpp-nsh { } } - augment /nsh/nsh-entries/nsh-entry { - ext:augment-identifier nsh-entry-md-type-augment; + augment /vpp-nsh/nsh-entries/nsh-entry { + ext:augment-identifier nsh-md-type-1-augment; when "/md-type = 'vpp-nsh:md-type1' "; uses nsh-md-type1-attributes; } - augment /nsh/nsh-entries/nsh-entry { - ext:augment-identifier nsh-entry-md-type-augment; + augment /vpp-nsh/nsh-entries/nsh-entry { + ext:augment-identifier nsh-md-type-2-augment; when "/md-type = 'vpp-nsh:md-type2' "; uses nsh-md-type2-attributes; } - augment /nsh/nsh-maps/nsh-map { - ext:augment-identifier nsh-vxlan-gpe-encap-augment; - when "/encap-type = 'vpp-nsh:vxlan-gpe-encap-type' "; - uses v3po:vxlan-gpe-base-attributes; - } - - augment /nsh/nsh-maps/nsh-map { - ext:augment-identifier vxlan-encap-augment; - when "/encap-type = 'vpp-nsh:vxlan-encap-type' "; - uses v3po:vxlan-base-attributes; - } - - container nsh-state { + container vpp-nsh-state { config false; description @@ -262,4 +256,16 @@ module vpp-nsh { } } } + + augment /vpp-nsh-state/nsh-entries/nsh-entry { + ext:augment-identifier nsh-md-type-1-state-augment; + when "/md-type = 'vpp-nsh:md-type1' "; + uses nsh-md-type1-attributes; + } + + augment /vpp-nsh-state/nsh-entries/nsh-entry { + ext:augment-identifier nsh-md-type-2-state-augment; + when "/md-type = 'vpp-nsh:md-type2' "; + uses nsh-md-type2-attributes; + } } \ No newline at end of file -- cgit 1.2.3-korg