diff options
author | Jan Srnicek <jsrnicek@cisco.com> | 2017-10-18 09:28:19 +0200 |
---|---|---|
committer | Marek Gradzki <mgradzki@cisco.com> | 2017-10-18 12:55:52 +0000 |
commit | e572123ccfeb50e0283bba38fceb299aaddfd6a0 (patch) | |
tree | dc173b1db6d6474802ba925d7f5a7e0c60643a25 /lisp/api/src/main/yang/lisp@2017-09-11.yang | |
parent | 29b385dfc94a27ac31918b66411568036c4a6ddb (diff) |
HC2VPP-247 - Mandatory reintroduced for vrf/bd sub-table
table-id(VRF) or bd-reference(BD) must be mandatory,
because if assignment of vni to vrf/bd does not exist,
and local/remote mapping tryins to reference such vni,
api call to vpp will fail with invalid value error
Change-Id: Iaeaac1fe698ccc783313063906532bcf268a99fb
Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
Diffstat (limited to 'lisp/api/src/main/yang/lisp@2017-09-11.yang')
-rwxr-xr-x | lisp/api/src/main/yang/lisp@2017-09-11.yang | 519 |
1 files changed, 0 insertions, 519 deletions
diff --git a/lisp/api/src/main/yang/lisp@2017-09-11.yang b/lisp/api/src/main/yang/lisp@2017-09-11.yang deleted file mode 100755 index c733ffe23..000000000 --- a/lisp/api/src/main/yang/lisp@2017-09-11.yang +++ /dev/null @@ -1,519 +0,0 @@ -//TODO mandatory statements -module lisp { - yang-version 1; - namespace "urn:opendaylight:params:xml:ns:yang:lisp"; - prefix "lisp"; - import ietf-interfaces { - prefix "if"; - } - import ietf-inet-types { - prefix "inet"; - } - import ietf-lisp-address-types { - prefix "lisp-types"; - } - import v3po { - prefix "v3po"; - } - organization - "FD.io Overlay Forwarding Engine (ONE) project"; - contact - "Florin Coras <fcoras@cisco.com> - Vina Ermagan <vermagan@cisco.com> - ONE list <one@lists.fd.io>"; - - description - "This YANG module defines the generic configuration and - operational data for LISP in VPP"; - - revision 2017-09-11 { - description - "One transport protocol support"; - } - - revision 2017-08-08 { - description - "Map register fallback threshold support"; - } - - revision 2017-08-03 { - description - "Map register TTL registration support"; - } - - revision 2017-03-15 { - description - "Excludes lisp-state from config data - Support for Lisp Control Plane Features - - Map request mode - - Multiple map servers - - Petr use - - RLoc probing - - Map Register - - Support for keys in local mappings"; - } - - revision 2016-12-14 { - description - "This revision adds support for L2 features, by adding vrf-subtable/bridge-domain-subtable - containers under vni-table. Both contains mandatory reference to index(vrf-subtable) - or name(bridge-domain-subtable) of respective kind of table."; - - reference - "https://tools.ietf.org/html/rfc6830"; - } - - revision "2016-05-20" { - description - "Initial revision of LISP model"; - reference - "https://tools.ietf.org/html/rfc6830"; - } - - typedef locator-set-ref { - type leafref { - path "/lisp/lisp-feature-data/locator-sets/locator-set/name"; - } - description "Locator-set reference"; - } - - typedef mapping-id { - type string; - description "Mapping ID"; - } - - typedef map-reply-action { - type enumeration { - enum no-action { - value 0; - description - "Mapping is kept alive and no encapsulation occurs."; - } - enum natively-forward { - value 1; - description - "Matching packets are not encapsulated or dropped but - natively forwarded."; - } - enum send-map-request { - value 2; - description - "Matching packets invoke Map-Requests."; - } - enum drop { - value 3; - description - "Matching packets are dropped."; - } - } - description - "Defines the lisp map-cache ACT type"; - reference - "https://tools.ietf.org/html/rfc6830#section-6.1.4"; - } - - typedef map-request-mode { - type enumeration { - enum destination-only { - value 0; - description "Normal map requests"; - } - enum source-destination { - value 1; - description "Source/Destination map requests"; - } - } - } - - typedef hmac-key-type { - type enumeration { - enum no-key { - value 0; - } - enum sha-1-96-key { - value 1; - } - enum sha-256-128-key { - value 2; - } - } - } - - grouping locator-properties-grouping { - description - "Properties of a RLOC"; - leaf priority { - type uint8; - description - "Locator priority."; - } - leaf weight { - type uint8; - description - "Locator weight."; - } - } - - grouping locator-sets-grouping { - // NOTE: to be used only for local locators - // lisp_add_del_locator_set locator-set <ls_name> [del] - // lisp_add_del_locator locator-set <ls_name> iface <iface_name> - // p <val> w <val> [del] - container locator-sets { - list locator-set { - key "name"; - leaf name { - type string; - description "Locator-set name"; - } - list interface { - key "interface-ref"; - leaf interface-ref { - type if:interface-ref; - description "Interface reference"; - } - uses locator-properties-grouping; - description "List of interfaces part of the locator-set"; - } - description "Locator-set"; - } - description "Locator-sets"; - } - description "Grouping for locator-sets"; - } - - grouping hmac-key-grouping { - container hmac-key { - // not mandatory , but when specified, both must be present - // due to presence containers bug, will be checked internaly - - leaf key-type { - type hmac-key-type; - } - - leaf key { - type string; - } - } - } - - grouping adjacencies-grouping { - container adjacencies { - list adjacency { - key "id"; - leaf id { - type string; - description "Adjacency id"; - } - container local-eid { - uses lisp-types:lisp-address; - description "Local EID that must have a local mapping"; - } - container remote-eid { - uses lisp-types:lisp-address; - description "Remote EID that must have a remote mapping"; - } - description "List of adjacencies"; - } - description "Adjacencies programmed into the data plane"; - } - description "Adjacencies grouping"; - } - - grouping dp-subtable-grouping { - // Once both vni and table-id are set: - // lisp_eid_table_add_del_map <vni> <dp_table> - container local-mappings { - list local-mapping { - key "id"; - leaf id { - type mapping-id; - description "Id that uniquely identifies a mapping"; - } - container eid { - uses lisp-types:lisp-address; - description "EID address"; - } - leaf locator-set { - type locator-set-ref; - description "Locator-set"; - } - uses hmac-key-grouping; - description "Local mapping"; - } - description "Local EID to locator-set mappings"; - } - // lisp_add_del_local_eid eid <ip-address/mask> locator-set - // <ls-name> [del] - // lisp_add_del_remote_mapping vni <vni> eid <eid> seid - // <seid> [action <action>] rloc - // <ip-addr> [rloc <ip-addr> ..] - // NOTE: 1.lisp_add_del_remote_mapping seid is used to build - // src/dst mappings. Rlocs have p/w in them - container remote-mappings { - list remote-mapping { - key "id"; - leaf id { - type mapping-id; - description "Id that uniquely identifies a mapping"; - } - container eid { - description "Remote EID address"; - uses lisp-types:lisp-address; - } - leaf ttl { - type uint32; - description "Mapping validity period."; - } - leaf authoritative { - type bits { - bit A { - description "Authoritative bit."; - } - } - description - "Bit that indicates if mapping comes from an - authoritative source."; - } - choice locator-list { - description - "list of locators are either negative, or positive."; - case negative-mapping { - //NOTE - Wrapped in container to prevent leaf map-reply-action enforcing impresence of rlocs - container map-reply{ - leaf map-reply-action { - type map-reply-action; - description - "Forwarding action for a negative mapping."; - } - } - } - case positive-mapping { - // NOTE if container is not needed to encapsulate - // locator list, remove it - container rlocs { - list locator { - key "address"; - leaf address { - type inet:ip-address; - description "Locator address"; - } - uses locator-properties-grouping; - description "Remote locator"; - } - description - "List of locators for a positive mapping."; - } - } - } - uses adjacencies-grouping; - description "List of remote mappings"; - } - description "Map-cache/remote mappings cache"; - } - description "Data path subtable (VRF/bridge domain) grouping"; - } - - grouping eid-table-grouping { - container eid-table { - list vni-table { - key "virtual-network-identifier"; - leaf virtual-network-identifier { - type uint32; - description "vni"; - } - container vrf-subtable { - presence "Enable L3 mapping"; - leaf table-id { - type uint32; - description "table-id"; - // TODO - HC2VPP-73 - commented due to ODL Boron issues - //mandatory true; - } - - uses dp-subtable-grouping; - description "VRF subtable"; - } - container bridge-domain-subtable { - presence "Enable L2 mapping"; - leaf bridge-domain-ref { - type v3po:bridge-domain-ref; - description "Reference to existing bridge domain"; - // TODO - HC2VPP-73 - commented due to ODL Boron issues - // mandatory true; - } - - uses dp-subtable-grouping; - description "Bridge domain subtable"; - } - description "VNI tables"; - } - description "EID table"; - } - description "EID table grouping"; - } - grouping map-resolvers-grouping { - container map-resolvers { - // lisp_add_del_map_resolver <ip> - list map-resolver { - key ip-address; - leaf ip-address { - type inet:ip-address; - description "Map-resolver IP address"; - } - description "List of map-resolvers"; - } - description "Map-resolvers configured"; - } - description "Map-Resolver grouping"; - } - grouping map-servers-grouping { - container map-servers { - //lisp_add_del_map_server - list map-server { - key ip-address; - leaf ip-address { - type inet:ip-address; - description "Map-server IP address"; - } - description "List of map-servers"; - } - } - } - - grouping pitr-cfg-grouping { - // lisp_pitr_set_locator_set <ip> - container pitr-cfg { - leaf locator-set { - type locator-set-ref; - default "N/A"; - description "Locator-set reference"; - } - description "Proxy-ITR configuration"; - } - description "PITR configuration grouping"; - } - - grouping use-petr-cfg-grouping { - // lisp_use_petr - container petr-cfg { - leaf petr-address { - type inet:ip-address; - description "PETR address"; - } - } - } - - grouping rloc-probing-grouping { - // lisp_rloc_probe_enable_disable - container rloc-probe { - leaf enabled { - type boolean; - default "false"; - description "Enabled/disable RLOC probing"; - } - } - } - - grouping map-register-grouping { - // lisp_map_register_enable_disable - container map-register { - leaf enabled { - type boolean; - default "false"; - description "Enabled/disable RLOC probing"; - } - - leaf ttl { - type uint32; - description "Mapping validity period."; - } - - leaf fallback-threshold { - type uint32; - description "Map register fallback threshold"; - } - } - } - - grouping map-request-mode-grouping { - // lisp_map_request_mode - container map-request-mode { - leaf mode { - type map-request-mode; - default "destination-only"; - } - } - } - - grouping itr-remote-locator-sets-grouping{ - container itr-remote-locator-set{ - // lisp_add_del_map_request_itr_rlocs add/del <ls_name> - // lisp_get_map_request_itr_rlocs - leaf remote-locator-set-name{ - type locator-set-ref; - description "Locators to be used in map-requests"; - } - } - } - - grouping transport-protocol-grouping { - container transport-protocol { - leaf protocol-type { - type enumeration { - enum UDP { - value 1; - } - enum Binary { - value 2; - } - } - description "ONE transport protocol"; - default UDP; - } - } - } - - grouping lisp-feature-data-grouping{ - //aggregation of all lisp data, restricted by Lisp beeing enabled - - container lisp-feature-data{ - when "../lisp:enable = 'true'"; - - uses locator-sets-grouping; - uses eid-table-grouping; - uses map-resolvers-grouping; - uses map-servers-grouping; - uses pitr-cfg-grouping; - uses use-petr-cfg-grouping; - uses rloc-probing-grouping; - uses map-register-grouping; - uses map-request-mode-grouping; - uses itr-remote-locator-sets-grouping; - uses transport-protocol-grouping; - } - } - - // ref https://wiki.fd.io/view/ONE/Command-line_Interface_CLI_Guide - container lisp { - - // lisp_enable_disable / lisp_enable_disable_status_dump - leaf enable { - type boolean; - description "Enable/disable LISP feature"; - } - uses lisp-feature-data-grouping; - description "LISP configuration"; - } - - container lisp-state { - config "false"; - // lisp_enable_disable / lisp_enable_disable_status_dump - leaf enable { - type boolean; - description "Enable/disable LISP feature"; - } - uses lisp-feature-data-grouping; - description "LISP state"; - } -} |