Thomas Vachuska | 73436b5 | 2017-03-22 19:50:47 -0700 | [diff] [blame] | 1 | /* |
| 2 | WARNING: |
| 3 | This yang model is just for fuction ONOS opensource project demo purpose only, |
| 4 | And is subject to change in future, Huawei does not commit provide compatibilty |
| 5 | in commercial product. |
| 6 | */ |
| 7 | module ne-l3vpn-api { |
| 8 | namespace "ne-l3vpn-api"; |
| 9 | prefix l3vpn-api; |
| 10 | import ne-l3vpncomm-type { |
| 11 | prefix l3vpncomm-type; |
| 12 | } |
| 13 | import ne-l3vpncomm { |
| 14 | prefix l3vpncomm; |
| 15 | } |
| 16 | organization "Huawei Technologies Co., Ltd"; |
| 17 | contact "Huawei Industrial Base |
| 18 | Bantian, Longgang |
| 19 | Shenzhen 518129 |
| 20 | People's Republic of China |
| 21 | Website: http://www.huawei.com |
| 22 | Email: support@huawei.com"; |
| 23 | description "VRP V800R010 Schema"; |
| 24 | revision "2014-12-25" { |
| 25 | reference "Huawei VRPV8 Schema"; |
| 26 | } |
| 27 | container devices { |
| 28 | list device { |
| 29 | key deviceid; |
| 30 | leaf deviceid { |
| 31 | type string; |
| 32 | } |
| 33 | container l3vpn { |
| 34 | container l3vpncomm { |
| 35 | container l3vpnInstances { |
| 36 | description ""; |
| 37 | list l3vpnInstance { |
| 38 | key "vrfName"; |
| 39 | leaf vrfName { |
| 40 | type string; |
| 41 | } |
| 42 | leaf vrfDescription { |
| 43 | type string; |
| 44 | } |
| 45 | uses l3vpncomm:l3vpnIfs; |
| 46 | container vpnInstAFs { |
| 47 | description ""; |
| 48 | list vpnInstAF { |
| 49 | key "afType"; |
| 50 | description "Address family"; |
| 51 | leaf afType { |
| 52 | type "l3vpncomm-type:l3vpncommonL3vpnPrefixType"; |
| 53 | description "Address family"; |
| 54 | } |
| 55 | leaf vrfRD { |
| 56 | when "vrfName != '_public_'"; |
| 57 | type "string"; |
| 58 | description "route-distinguisher."; |
| 59 | } |
| 60 | container vpnTargets { |
| 61 | description ""; |
| 62 | list vpnTarget { |
| 63 | must "vrfName != '_public_' and vpnTarget = '0'"; |
| 64 | key "vrfRTValue vrfRTType"; |
| 65 | description "L3vpn vpntarget configure class"; |
| 66 | leaf vrfRTValue { |
| 67 | type "string"; |
| 68 | } |
| 69 | leaf vrfRTType { |
| 70 | type "l3vpncomm-type:l3vpncommonVrfRtType"; |
| 71 | } |
| 72 | } |
| 73 | } |
| 74 | } |
| 75 | } |
| 76 | } |
| 77 | } |
| 78 | } |
| 79 | } |
| 80 | } |
| 81 | } |
| 82 | } |