aboutsummaryrefslogtreecommitdiffstats
path: root/ctrl/sysrepo-plugins/yang
diff options
context:
space:
mode:
authorAlberto Compagno <acompagn+fdio@cisco.com>2020-04-23 14:23:36 +0200
committerAlberto Compagno <acompagn+fdio@cisco.com>2020-05-04 15:19:41 +0200
commit43d0ecbb1a1f7e1f72bf85441547b1678aed4350 (patch)
tree3da1d867acb6c8b735fbd76eeec51189b5d3996f /ctrl/sysrepo-plugins/yang
parentc1b56d5861829a23289f42cecd716e681b520cf0 (diff)
[HICN-603] Cleanup code for managing route
- Remove old code to add and remove hicn route. Routes are now added only through the ip route commands/apis - Adjusted the cli to set the strategy for a particular prefix - Adjusted libtransport consumer and producer app creation - Adjusted sysrepo plugin. Added hicn enable and disable and removed old api related to hicn routes and hicn faces - Adjusted libhicnctrl. Only routes api and listener are now available for hicn-plugin Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com> Change-Id: Ib4f7f45ba0b99253d60a9da2b295d6e783e5cd51
Diffstat (limited to 'ctrl/sysrepo-plugins/yang')
-rw-r--r--ctrl/sysrepo-plugins/yang/hicn/hicn.yang509
1 files changed, 165 insertions, 344 deletions
diff --git a/ctrl/sysrepo-plugins/yang/hicn/hicn.yang b/ctrl/sysrepo-plugins/yang/hicn/hicn.yang
index de09fcdb9..0514a7a2a 100644
--- a/ctrl/sysrepo-plugins/yang/hicn/hicn.yang
+++ b/ctrl/sysrepo-plugins/yang/hicn/hicn.yang
@@ -1,426 +1,247 @@
module hicn {
-namespace "urn:sysrepo:hicn";
-prefix hcn;
+ namespace "urn:sysrepo:hicn";
+ prefix hcn;
-
-revision 2019-10-30{
- description "revised revision focus on telemetry.";
-}
-
-/* new data types and grouping definition to forward the remote request toward hicn controler--to-->hicn */
-
-typedef float {
- type decimal64 {
- fraction-digits 2;
- }
-}
-
-grouping face_ip_add {
-
-leaf lip4 {
- description "IP version 4 local address.";
- type string;
- }
-
-leaf lip6 {
- description "IP version 6 local address.";
- type string;
- }
-
-leaf rip4 {
- description "IP version 4 local address.";
- type string;
- }
-
-leaf rip6 {
- description "IP version 6 local address.";
- type string;
- }
-
-leaf swif {
- description "Interface Index.";
- type uint32;
- }
-}
-
-grouping route_nhops_add {
-
-leaf ip4 {
- description "ip4 to be added to the FIB.";
- type string;
- }
-
-leaf ip6 {
- description "ip6 to be added to the FIB.";
- type string;
- }
-
-leaf len {
- description "Length of the prefix.";
- type uint8;
- }
-
-leaf face_ids0 {
- description "A Face ID to the next hop forwarder for the specified prefix.";
- type uint32;
- }
-
-leaf face_ids1 {
- description "A Face ID to the next hop forwarder for the specified prefix.";
- type uint32;
- }
-
-leaf face_ids2 {
- description "A Face ID to the next hop forwarder for the specified prefix.";
- type uint32;
- }
-
-leaf face_ids3 {
- description "A Face ID to the next hop forwarder for the specified prefix.";
- type uint32;
- }
-
-leaf face_ids4 {
- description "A Face ID to the next hop forwarder for the specified prefix.";
- type uint32;
- }
-
-leaf face_ids5 {
- description "A Face ID to the next hop forwarder for the specified prefix.";
- type uint32;
- }
-
-leaf face_ids6 {
- description "A Face ID to the next hop forwarder for the specified prefix.";
- type uint32;
- }
-
-leaf n_faces {
- description "Number of face to add.";
- type uint8;
- }
-}
-
-
-grouping route_nhops_del {
-
-leaf ip4 {
- description "ip4 to be added to the FIB.";
- type string;
- }
-
-leaf ip6 {
- description "ip6 to be added to the FIB.";
- type string;
- }
-
-leaf len {
- description "Length of the prefix.";
- type uint8;
- }
-
-leaf faceid {
- description "A Face ID to the next hop forwarder for the specified prefix.";
- type uint32;
- }
-
-}
-
-grouping route_del {
-
-leaf ip4 {
- description "ip4 to be added to the FIB.";
- type string;
- }
-
-leaf ip6 {
- description "ip6 to be added to the FIB.";
- type string;
- }
-
-leaf len {
- description "Length of the prefix.";
- type uint8;
- }
-}
-
-grouping punting_add_ip {
-
-leaf ip4 {
- description "ip4 to be added to the FIB.";
- type string;
- }
-
-leaf ip6 {
- description "ip6 to be added to the FIB.";
- type string;
- }
-
-leaf len {
- description "Length of the prefix.";
- type uint8;
+ import ietf-inet-types {
+ prefix inet;
}
-leaf swif {
- description "Interface id.";
- type uint32;
+ revision 2020-04-29{
+ description "revised revision focus on telemetry.";
}
-}
-
-grouping states-reply {
-
- leaf pkts_processed {
- description "ICN packets processed.";
- type uint64;
- }
-
- leaf pkts_interest_count {
- description "PIT maximum size, otherwise -1 to assign default value.";
- type uint64;
- }
-
- leaf pkts_data_count {
- description "CS maximum size, otherwise -1 to assign default value.";
- type uint64;
- }
-
- leaf pkts_from_cache_count {
- description "Portion of CS reserved to application, otherwise -1 to assign default value.";
- type uint64;
- }
-
- leaf pkts_no_pit_count {
- description "Default PIT entry lifetime, otherwise -1 to assign default value.";
- type uint64;
- }
- leaf pit_expired_count {
- description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value.";
- type uint64;
- }
-
- leaf cs_expired_count {
- description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value .";
- type uint64;
- }
-
- leaf cs_lru_count {
- description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value .";
- type uint64;
- }
+ /* new data types and grouping definition to forward the remote request toward hicn controler--to-->hicn */
- leaf pkts_drop_no_buf {
- description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value .";
- type uint64;
- }
-
- leaf interests_aggregated {
- description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value .";
- type uint64;
- }
-
- leaf interests_retx {
- description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value .";
- type uint64;
+ typedef float {
+ type decimal64 {
+ fraction-digits 2;
}
+ }
- leaf interests_hash_collision {
- description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value .";
- type uint64;
- }
+ grouping states-reply {
- leaf pit_entries_count {
- description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value .";
- type uint64;
- }
+ leaf pkts_processed {
+ description "ICN packets processed.";
+ type uint64;
+ }
- leaf cs_entries_count {
- description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value .";
- type uint64;
- }
+ leaf pkts_interest_count {
+ description "PIT maximum size, otherwise -1 to assign default value.";
+ type uint64;
+ }
- leaf cs_entries_ntw_count {
- description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value .";
- type uint64;
- }
+ leaf pkts_data_count {
+ description "CS maximum size, otherwise -1 to assign default value.";
+ type uint64;
+ }
-}
+ leaf pkts_from_cache_count {
+ description "Portion of CS reserved to application, otherwise -1 to assign default value.";
+ type uint64;
+ }
-grouping face-stats-reply {
- list face{
- key faceid;
- leaf faceid {
- description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value .";
- type uint32;
+ leaf pkts_no_pit_count {
+ description "Default PIT entry lifetime, otherwise -1 to assign default value.";
+ type uint64;
}
- leaf intfc {
- description "This is the idx number of the faceid.";
- type uint32;
+ leaf pit_expired_count {
+ description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value.";
+ type uint64;
}
- leaf irx_packets {
+ leaf cs_expired_count {
description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value .";
type uint64;
}
- leaf irx_bytes {
+ leaf cs_lru_count {
description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value .";
type uint64;
}
- leaf itx_packets {
+ leaf pkts_drop_no_buf {
description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value .";
type uint64;
}
- leaf itx_bytes {
+ leaf interests_aggregated {
description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value .";
type uint64;
}
-
- leaf drx_packets {
+ leaf interests_retx {
description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value .";
type uint64;
}
- leaf drx_bytes {
+ leaf interests_hash_collision {
description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value .";
type uint64;
}
- leaf dtx_packets {
+ leaf pit_entries_count {
description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value .";
type uint64;
}
+ leaf cs_entries_count {
+ description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value .";
+ type uint64;
+ }
- leaf dtx_bytes {
+ leaf cs_entries_ntw_count {
description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value .";
type uint64;
}
+
}
-}
-grouping route-reply {
+ grouping face-stats-reply {
+ list face{
+ key faceid;
+ leaf faceid {
+ description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value .";
+ type uint32;
+ }
- list route{
- key routeid;
- leaf routeid {
- description "the unique key for each item.";
- type uint32;
- }
- leaf prefix {
- description "IP address.";
- type string;
-
- }
- leaf strategy_id {
- description "compile-time plugin features.";
- type uint32;
- }
- }
-}
+ leaf intfc {
+ description "This is the idx number of the faceid.";
+ type uint32;
+ }
-grouping strategies-reply {
- leaf n_strategies {
- description "Enable / disable ICN forwarder in VPP.";
- type uint8;
- }
- leaf strategy_id {
- description "Enable / disable ICN forwarder in VPP.";
- type uint32;
- }
+ leaf irx_packets {
+ description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value .";
+ type uint64;
+ }
-}
+ leaf irx_bytes {
+ description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value .";
+ type uint64;
+ }
+ leaf itx_packets {
+ description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value .";
+ type uint64;
+ }
-/* Hicn operational data */
+ leaf itx_bytes {
+ description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value .";
+ type uint64;
+ }
-container hicn-state {
- config false;
- description "operational data container for the hicn.";
- container faces{
- uses face-stats-reply;
- }
- container states{
- uses states-reply;
- }
- container routes{
- uses route-reply;
- }
-}
+ leaf drx_packets {
+ description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value .";
+ type uint64;
+ }
+ leaf drx_bytes {
+ description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value .";
+ type uint64;
+ }
-/* RPC Definitions */
+ leaf dtx_packets {
+ description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value .";
+ type uint64;
+ }
-rpc strategies-get {
- description "Operation to get hicn strategies.";
-}
-rpc route-del {
- description "Operation to del hicn route.";
- input {
- uses route_del;
+ leaf dtx_bytes {
+ description "Upper bound on PIT entry lifetime, otherwise -1 to assign default value .";
+ type uint64;
+ }
+ }
}
-}
-rpc route-nhops-add {
- description "Operation to add hicn route nhops.";
- input {
- uses route_nhops_add;
+ grouping route-reply {
+
+ list route{
+ key routeid;
+ leaf routeid {
+ description "the unique key for each item.";
+ type uint32;
+ }
+ leaf prefix {
+ description "IP address.";
+ type string;
+
+ }
+ leaf strategy_id {
+ description "compile-time plugin features.";
+ type uint32;
+ }
}
-}
+ }
+
+ grouping strategies-reply {
+ leaf n_strategies {
+ description "Enable / disable ICN forwarder in VPP.";
+ type uint8;
+ }
+ leaf strategy_id {
+ description "Enable / disable ICN forwarder in VPP.";
+ type uint32;
+ }
-rpc route-nhops-del {
- description "Operation to add hicn face ip punt.";
- input {
- uses route_nhops_del;
}
-}
-rpc face-ip-params-get {
- description "Operation to del hicn route.";
- input {
- leaf faceid {
- description "Face to be retrieved .";
- type uint32;
+ typedef hicn-prefix {
+ description "hICN prefix.";
+ type inet:ip-prefix;
+ }
+
+
+ /* Hicn operational data */
+
+ container hicn-state {
+
+ config false;
+ description "operational data container for the hicn.";
+ container faces{
+ uses face-stats-reply;
+ }
+ container states{
+ uses states-reply;
+ }
+ container routes{
+ uses route-reply;
}
}
-}
-rpc face-ip-add {
- description "Operation to add hicn face ip.";
- input {
- uses face_ip_add;
+
+ /* RPC Definitions */
+
+ rpc strategies-get {
+ description "Operation to get hicn strategies.";
}
-}
-rpc face-ip-del {
- description "Operation to del hicn face ip.";
- input {
- leaf faceid {
- description "Face to be deleted .";
- type uint32;
+ rpc face-params-get {
+ description "Operation to del hicn route.";
+ input {
+ leaf faceid {
+ description "Face to be retrieved .";
+ type uint32;
+ }
}
}
-}
-rpc punting-add-ip {
- description "Operation to add hicn punt.";
- input {
- uses punting_add_ip;
+ rpc hicn-enable {
+ description "Enable hicn on a gie prefix.";
+ input {
+ leaf prefix {
+ type hicn-prefix;
+ }
+ }
}
-}
-rpc punting-del-ip {
- description "Operation to del hicn punt.";
- input {
- uses punting_add_ip; /* It uses the same payload as the add*/
+ rpc hicn-disable {
+ description "Disable hicn on a gie prefix.";
+ input {
+ leaf prefix {
+ type hicn-prefix;
+ }
+ }
}
-}
-
}