diff options
Diffstat (limited to 'ctrl/sysrepo-plugins/hicn-plugin/plugin/model/hicn_model.h')
-rw-r--r-- | ctrl/sysrepo-plugins/hicn-plugin/plugin/model/hicn_model.h | 142 |
1 files changed, 69 insertions, 73 deletions
diff --git a/ctrl/sysrepo-plugins/hicn-plugin/plugin/model/hicn_model.h b/ctrl/sysrepo-plugins/hicn-plugin/plugin/model/hicn_model.h index 62fb15340..866eafd5e 100644 --- a/ctrl/sysrepo-plugins/hicn-plugin/plugin/model/hicn_model.h +++ b/ctrl/sysrepo-plugins/hicn-plugin/plugin/model/hicn_model.h @@ -1,21 +1,22 @@ /* -* Copyright (c) 2019 Cisco and/or its affiliates. -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at: -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ + * Copyright (c) 2021 Cisco and/or its affiliates. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ /** * @file hicn_model.h - * @brief This file contains main calls for hICN events coresponding to the hICN yang models + * @brief This file contains main calls for hICN events coresponding to the hICN + * yang models */ #ifndef __IETF_HICN_H__ @@ -55,12 +56,10 @@ /** * @brief enumeration for the locks */ -enum locks_name {lstate, lstrategy, lstrategies, lroute, lfaces}; - +enum locks_name { lstate, lstrategy, lstrategies, lroute, lfaces }; // It is a coarse grain approach later can be changed to fine grained - /** * @brief This indicates the number of leaves for the hICN state */ @@ -78,61 +77,60 @@ enum locks_name {lstate, lstrategy, lstrategies, lroute, lfaces}; */ #define MAX_FACE_POOL 100 /** - * @brief This indicates the maximum routes which can be read as operational data + * @brief This indicates the maximum routes which can be read as operational + * data */ #define MAX_ROUTE_POOL 100 /** * @brief This indicates the number of leaves for faces */ -#define FACES_CHILDREN 9 /*this is the number of children of each leave in face except the key*/ +#define FACES_CHILDREN \ + 9 /*this is the number of children of each leave in face except the key*/ /** * @brief This indicates the number of leaves for routes */ -#define ROUTES_CHILDREN 2 /*this is the number of children of each leave in face except the key*/ - -typedef struct __attribute__ ((__packed__)) { - int32_t retval; - uint64_t pkts_processed; - uint64_t pkts_interest_count; - uint64_t pkts_data_count; - uint64_t pkts_from_cache_count; - uint64_t pkts_no_pit_count; - uint64_t pit_expired_count; - uint64_t cs_expired_count; - uint64_t cs_lru_count; - uint64_t pkts_drop_no_buf; - uint64_t interests_aggregated; - uint64_t interests_retx; - uint64_t interests_hash_collision; - uint64_t pit_entries_count; - uint64_t cs_entries_count; - uint64_t cs_entries_ntw_count; +#define ROUTES_CHILDREN \ + 2 /*this is the number of children of each leave in face except the key*/ + +typedef struct __attribute__((__packed__)) { + int32_t retval; + uint64_t pkts_processed; + uint64_t pkts_interest_count; + uint64_t pkts_data_count; + uint64_t pkts_from_cache_count; + uint64_t pkts_no_pit_count; + uint64_t pit_expired_count; + uint64_t cs_expired_count; + uint64_t cs_lru_count; + uint64_t pkts_drop_no_buf; + uint64_t interests_aggregated; + uint64_t interests_retx; + uint64_t interests_hash_collision; + uint64_t pit_entries_count; + uint64_t cs_entries_count; + uint64_t cs_entries_ntw_count; } hicn_state_t; - -typedef struct __attribute__ ((__packed__)) { - - uint8_t n_strategies; - uint32_t strategy_id[256]; - int32_t retval; +typedef struct __attribute__((__packed__)) { + uint8_t n_strategies; + uint32_t strategy_id[256]; + int32_t retval; } hicn_strategies_t; - -typedef struct __attribute__ ((__packed__)) { - uint32_t faceid; - uint32_t intfc; - uint64_t irx_packets; - uint64_t irx_bytes; - uint64_t itx_packets; - uint64_t itx_bytes; - uint64_t drx_packets; - uint64_t drx_bytes; - uint64_t dtx_packets; - uint64_t dtx_bytes; +typedef struct __attribute__((__packed__)) { + uint32_t faceid; + uint32_t intfc; + uint64_t irx_packets; + uint64_t irx_bytes; + uint64_t itx_packets; + uint64_t itx_bytes; + uint64_t drx_packets; + uint64_t drx_bytes; + uint64_t dtx_packets; + uint64_t dtx_bytes; } hicn_face_inf_t; - -typedef struct __attribute__ ((__packed__)) { +typedef struct __attribute__((__packed__)) { u32 route_id; vapi_type_prefix prefix; u32 faceids[5]; @@ -143,29 +141,27 @@ typedef struct __attribute__ ((__packed__)) { /** * @brief This is the link list to maintain the statistics of the faces */ -struct hicn_faces_s{ - hicn_face_inf_t face; - struct hicn_faces_s * next; +struct hicn_faces_s { + hicn_face_inf_t face; + struct hicn_faces_s *next; }; - -typedef struct __attribute__ ((__packed__)) { - uint32_t nface; - struct hicn_faces_s * next; +typedef struct __attribute__((__packed__)) { + uint32_t nface; + struct hicn_faces_s *next; } hicn_faces_t; /** * @brief This is the link list to maintain the route informations */ -struct hicn_routes_s{ - hicn_route_inf_t route; - struct hicn_routes_s * next; +struct hicn_routes_s { + hicn_route_inf_t route; + struct hicn_routes_s *next; }; - -typedef struct __attribute__ ((__packed__)) { - uint32_t nroute; - struct hicn_routes_s * next; +typedef struct __attribute__((__packed__)) { + uint32_t nroute; + struct hicn_routes_s *next; } hicn_routes_t; /** @@ -173,6 +169,6 @@ typedef struct __attribute__ ((__packed__)) { * as well as operational data */ int hicn_subscribe_events(sr_session_ctx_t *session, - sr_subscription_ctx_t **subscription); + sr_subscription_ctx_t **subscription); #endif /* __IETF_HICN_H__ */ |