diff options
Diffstat (limited to 'ctrl/facemgr/includes/hicn/facemgr/cfg.h')
-rw-r--r-- | ctrl/facemgr/includes/hicn/facemgr/cfg.h | 206 |
1 files changed, 108 insertions, 98 deletions
diff --git a/ctrl/facemgr/includes/hicn/facemgr/cfg.h b/ctrl/facemgr/includes/hicn/facemgr/cfg.h index 84d63fe73..57d8f35bc 100644 --- a/ctrl/facemgr/includes/hicn/facemgr/cfg.h +++ b/ctrl/facemgr/includes/hicn/facemgr/cfg.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2019 Cisco and/or its affiliates. + * 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: @@ -20,7 +20,7 @@ #ifndef FACEMGR_CFG_H #define FACEMGR_CFG_H -#include <hicn/ctrl/face.h> +#include <hicn/face.h> #include <hicn/facemgr/facelet.h> #include <hicn/util/log.h> @@ -38,68 +38,72 @@ #define FACEMGR_CFG_DEFAULT_IPV4 true #define FACEMGR_CFG_DEFAULT_IPV6 false - - typedef struct facemgr_cfg_s facemgr_cfg_t; -facemgr_cfg_t * facemgr_cfg_create(); -void facemgr_cfg_free(facemgr_cfg_t * cfg); -int facemgr_cfg_initialize(facemgr_cfg_t * cfg); -int facemgr_cfg_finalize(facemgr_cfg_t * cfg); -void facemgr_cfg_dump(facemgr_cfg_t * cfg); +facemgr_cfg_t* facemgr_cfg_create(); +void facemgr_cfg_free(facemgr_cfg_t* cfg); +int facemgr_cfg_initialize(facemgr_cfg_t* cfg); +int facemgr_cfg_finalize(facemgr_cfg_t* cfg); +void facemgr_cfg_dump(facemgr_cfg_t* cfg); /* Rules */ typedef struct facemgr_cfg_rule_s facemgr_cfg_rule_t; -facemgr_cfg_rule_t * facemgr_cfg_rule_create(); -void facemgr_cfg_rule_free(facemgr_cfg_rule_t * rule); -int facemgr_cfg_rule_initialize(facemgr_cfg_rule_t * rule); -int facemgr_cfg_rule_finalize(facemgr_cfg_rule_t * rule); +facemgr_cfg_rule_t* facemgr_cfg_rule_create(); +void facemgr_cfg_rule_free(facemgr_cfg_rule_t* rule); +int facemgr_cfg_rule_initialize(facemgr_cfg_rule_t* rule); +int facemgr_cfg_rule_finalize(facemgr_cfg_rule_t* rule); -int facemgr_cfg_rule_set_match(facemgr_cfg_rule_t * rule, - const char * interface_name, netdevice_type_t interface_type); +int facemgr_cfg_rule_set_match(facemgr_cfg_rule_t* rule, + const char* interface_name, + netdevice_type_t interface_type); -int facemgr_cfg_rule_set_face_type(facemgr_cfg_rule_t * cfg_rule, facemgr_face_type_t * face_type); -int facemgr_cfg_rule_unset_face_type(facemgr_cfg_rule_t * cfg_rule); +int facemgr_cfg_rule_set_face_type(facemgr_cfg_rule_t* cfg_rule, + facemgr_face_type_t* face_type); +int facemgr_cfg_rule_unset_face_type(facemgr_cfg_rule_t* cfg_rule); -int facemgr_cfg_rule_set_discovery(facemgr_cfg_rule_t * cfg_rule, bool status); -int facemgr_cfg_rule_unset_discovery(facemgr_cfg_rule_t * cfg_rule); +int facemgr_cfg_rule_set_discovery(facemgr_cfg_rule_t* cfg_rule, bool status); +int facemgr_cfg_rule_unset_discovery(facemgr_cfg_rule_t* cfg_rule); -int facemgr_cfg_rule_set_ignore(facemgr_cfg_rule_t * cfg_rule, bool status); -int facemgr_cfg_rule_unset_ignore(facemgr_cfg_rule_t * cfg_rule); +int facemgr_cfg_rule_set_ignore(facemgr_cfg_rule_t* cfg_rule, bool status); +int facemgr_cfg_rule_unset_ignore(facemgr_cfg_rule_t* cfg_rule); -int facemgr_cfg_rule_set_ipv4(facemgr_cfg_rule_t * cfg_rule, bool status); -int facemgr_cfg_rule_unset_ipv4(facemgr_cfg_rule_t * cfg_rule); +int facemgr_cfg_rule_set_ipv4(facemgr_cfg_rule_t* cfg_rule, bool status); +int facemgr_cfg_rule_unset_ipv4(facemgr_cfg_rule_t* cfg_rule); -int facemgr_cfg_rule_set_ipv6(facemgr_cfg_rule_t * cfg_rule, bool status); -int facemgr_cfg_rule_unset_ipv6(facemgr_cfg_rule_t * cfg_rule); +int facemgr_cfg_rule_set_ipv6(facemgr_cfg_rule_t* cfg_rule, bool status); +int facemgr_cfg_rule_unset_ipv6(facemgr_cfg_rule_t* cfg_rule); -int facemgr_cfg_rule_set_overlay(facemgr_cfg_rule_t * rule, int family, - ip_address_t * local_addr, uint16_t local_port, - ip_address_t * remote_addr, uint16_t remote_port); -int facemgr_rule_unset_overlay(facemgr_cfg_rule_t * rule, int family); +int facemgr_cfg_rule_set_overlay(facemgr_cfg_rule_t* rule, int family, + hicn_ip_address_t* local_addr, + uint16_t local_port, + hicn_ip_address_t* remote_addr, + uint16_t remote_port); +int facemgr_rule_unset_overlay(facemgr_cfg_rule_t* rule, int family); /* General */ -int facemgr_cfg_set_face_type(facemgr_cfg_t * cfg, facemgr_face_type_t * face_type); -int facemgr_cfg_unset_face_type(facemgr_cfg_t * cfg); -int facemgr_cfg_set_discovery(facemgr_cfg_t * cfg, bool status); -int facemgr_cfg_unset_discovery(facemgr_cfg_t * cfg); -int facemgr_cfg_set_ipv4(facemgr_cfg_t * cfg, bool status); -int facemgr_cfg_unset_ipv4(facemgr_cfg_t * cfg); -int facemgr_cfg_set_ipv6(facemgr_cfg_t * cfg, bool status); -int facemgr_cfg_unset_ipv6(facemgr_cfg_t * cfg); - -int facemgr_cfg_set_overlay(facemgr_cfg_t * cfg, int family, - ip_address_t * local_addr, uint16_t local_port, - ip_address_t * remote_addr, uint16_t remote_port); -int facemgr_cfg_unset_overlay(facemgr_cfg_t * cfg, int family); - - -int facemgr_cfg_add_rule(facemgr_cfg_t * cfg, facemgr_cfg_rule_t * rule); -int facemgr_cfg_del_rule(facemgr_cfg_t * cfg, facemgr_cfg_rule_t * rule); -int facemgr_cfg_get_rule(const facemgr_cfg_t * cfg, const char * interface_name, - netdevice_type_t interface_type, facemgr_cfg_rule_t ** rule); +int facemgr_cfg_set_face_type(facemgr_cfg_t* cfg, + facemgr_face_type_t* face_type); +int facemgr_cfg_unset_face_type(facemgr_cfg_t* cfg); +int facemgr_cfg_set_discovery(facemgr_cfg_t* cfg, bool status); +int facemgr_cfg_unset_discovery(facemgr_cfg_t* cfg); +int facemgr_cfg_set_ipv4(facemgr_cfg_t* cfg, bool status); +int facemgr_cfg_unset_ipv4(facemgr_cfg_t* cfg); +int facemgr_cfg_set_ipv6(facemgr_cfg_t* cfg, bool status); +int facemgr_cfg_unset_ipv6(facemgr_cfg_t* cfg); + +int facemgr_cfg_set_overlay(facemgr_cfg_t* cfg, int family, + hicn_ip_address_t* local_addr, uint16_t local_port, + hicn_ip_address_t* remote_addr, + uint16_t remote_port); +int facemgr_cfg_unset_overlay(facemgr_cfg_t* cfg, int family); + +int facemgr_cfg_add_rule(facemgr_cfg_t* cfg, facemgr_cfg_rule_t* rule); +int facemgr_cfg_del_rule(facemgr_cfg_t* cfg, facemgr_cfg_rule_t* rule); +int facemgr_cfg_get_rule(const facemgr_cfg_t* cfg, const char* interface_name, + netdevice_type_t interface_type, + facemgr_cfg_rule_t** rule); /* Log */ @@ -107,57 +111,63 @@ int facemgr_cfg_get_rule(const facemgr_cfg_t * cfg, const char * interface_name, * Query API * * Takes the overrides into account - * - * TODO : interface_types are currently not taken into account by this API */ -int facemgr_cfg_get_face_type(const facemgr_cfg_t * cfg, - const netdevice_t * netdevice, netdevice_type_t netdevice_type, - facemgr_face_type_t * face_type); -int facemgr_cfg_get_discovery(const facemgr_cfg_t * cfg, - const netdevice_t * netdevice, netdevice_type_t netdevice_type, - bool * discovery); -int facemgr_cfg_get_ignore(const facemgr_cfg_t * cfg, - const netdevice_t * netdevice, netdevice_type_t netdevice_type, - bool * ignore); -int facemgr_cfg_get_ipv4(const facemgr_cfg_t * cfg, - const netdevice_t * netdevice, netdevice_type_t netdevice_type, - bool * ipv4); -int facemgr_cfg_get_ipv6(const facemgr_cfg_t * cfg, - const netdevice_t * netdevice, netdevice_type_t netdevice_type, - bool * ipv6); -int facemgr_cfg_get_overlay_local_addr(const facemgr_cfg_t * cfg, - const netdevice_t * netdevice, netdevice_type_t netdevice_type, - int family, ip_address_t * addr); -int facemgr_cfg_get_overlay_local_port(const facemgr_cfg_t * cfg, - const netdevice_t * netdevice, netdevice_type_t netdevice_type, - int family, u16 * port); -int facemgr_cfg_get_overlay_remote_addr(const facemgr_cfg_t * cfg, - const netdevice_t * netdevice, netdevice_type_t netdevice_type, - int family, ip_address_t * addr); -int facemgr_cfg_get_overlay_remote_port(const facemgr_cfg_t * cfg, - const netdevice_t * netdevice, netdevice_type_t netdevice_type, - int family, u16 * port); - -int facemgr_cfg_rule_get(const facemgr_cfg_t * cfg, const netdevice_t netdevice, - netdevice_type_t netdevice_type, facemgr_cfg_rule_t ** rule); -int facemgr_cfg_rule_get_face_type(const facemgr_cfg_rule_t * cfg_rule, facemgr_face_type_t * face_type); -int facemgr_cfg_rule_get_discovery(const facemgr_cfg_rule_t * cfg_rule, bool * status); -int facemgr_cfg_rule_get_ignore(const facemgr_cfg_rule_t * cfg_rule, bool * status); -int facemgr_cfg_rule_get_ipv4(const facemgr_cfg_rule_t * cfg_rule, bool * status); -int facemgr_cfg_rule_get_ipv6(const facemgr_cfg_rule_t * cfg_rule, bool * status); -int facemgr_cfg_rule_get_overlay_local_addr(const facemgr_cfg_rule_t * rule, int family, - ip_address_t * addr); -int facemgr_cfg_rule_get_overlay_local_port(const facemgr_cfg_rule_t * rule, int family, - uint16_t * port); -int facemgr_cfg_rule_get_overlay_remote_addr(const facemgr_cfg_rule_t * rule, int family, - ip_address_t * addr); -int facemgr_cfg_rule_get_overlay_remote_port(const facemgr_cfg_rule_t * rule, int family, - uint16_t * port); - -int facemgr_cfg_add_static_facelet(facemgr_cfg_t * cfg, facelet_t * facelet); -int facemgr_cfg_remove_static_facelet(facemgr_cfg_t * cfg, facelet_t * facelet, - facelet_t ** removed_facelet); -int facemgr_cfg_get_static_facelet_array(const facemgr_cfg_t * cfg, facelet_t *** array); +int facemgr_cfg_get_face_type(const facemgr_cfg_t* cfg, + const netdevice_t* netdevice, + netdevice_type_t netdevice_type, + facemgr_face_type_t* face_type); +int facemgr_cfg_get_discovery(const facemgr_cfg_t* cfg, + const netdevice_t* netdevice, + netdevice_type_t netdevice_type, bool* discovery); +int facemgr_cfg_get_ignore(const facemgr_cfg_t* cfg, + const netdevice_t* netdevice, + netdevice_type_t netdevice_type, bool* ignore); +int facemgr_cfg_get_ipv4(const facemgr_cfg_t* cfg, const netdevice_t* netdevice, + netdevice_type_t netdevice_type, bool* ipv4); +int facemgr_cfg_get_ipv6(const facemgr_cfg_t* cfg, const netdevice_t* netdevice, + netdevice_type_t netdevice_type, bool* ipv6); +int facemgr_cfg_get_overlay_local_addr(const facemgr_cfg_t* cfg, + const netdevice_t* netdevice, + netdevice_type_t netdevice_type, + int family, hicn_ip_address_t* addr); +int facemgr_cfg_get_overlay_local_port(const facemgr_cfg_t* cfg, + const netdevice_t* netdevice, + netdevice_type_t netdevice_type, + int family, u16* port); +int facemgr_cfg_get_overlay_remote_addr(const facemgr_cfg_t* cfg, + const netdevice_t* netdevice, + netdevice_type_t netdevice_type, + int family, hicn_ip_address_t* addr); +int facemgr_cfg_get_overlay_remote_port(const facemgr_cfg_t* cfg, + const netdevice_t* netdevice, + netdevice_type_t netdevice_type, + int family, u16* port); + +int facemgr_cfg_rule_get(const facemgr_cfg_t* cfg, const netdevice_t netdevice, + netdevice_type_t netdevice_type, + facemgr_cfg_rule_t** rule); +int facemgr_cfg_rule_get_face_type(const facemgr_cfg_rule_t* cfg_rule, + facemgr_face_type_t* face_type); +int facemgr_cfg_rule_get_discovery(const facemgr_cfg_rule_t* cfg_rule, + bool* status); +int facemgr_cfg_rule_get_ignore(const facemgr_cfg_rule_t* cfg_rule, + bool* status); +int facemgr_cfg_rule_get_ipv4(const facemgr_cfg_rule_t* cfg_rule, bool* status); +int facemgr_cfg_rule_get_ipv6(const facemgr_cfg_rule_t* cfg_rule, bool* status); +int facemgr_cfg_rule_get_overlay_local_addr(const facemgr_cfg_rule_t* rule, + int family, + hicn_ip_address_t* addr); +int facemgr_cfg_rule_get_overlay_local_port(const facemgr_cfg_rule_t* rule, + int family, uint16_t* port); +int facemgr_cfg_rule_get_overlay_remote_addr(const facemgr_cfg_rule_t* rule, + int family, + hicn_ip_address_t* addr); +int facemgr_cfg_rule_get_overlay_remote_port(const facemgr_cfg_rule_t* rule, + int family, uint16_t* port); + +int facemgr_cfg_add_static_facelet(facemgr_cfg_t* cfg, facelet_t* facelet); +int facemgr_cfg_get_static_facelet_array(const facemgr_cfg_t* cfg, + facelet_t*** array); #endif /* FACEMGR_CFG_H */ |