From 0a1c6b5565e20167d1f1f33a5a8b597f420b18b0 Mon Sep 17 00:00:00 2001 From: Jordan Augé Date: Fri, 26 Jul 2019 23:20:30 +0200 Subject: [HICN-252] Add per-application policy framework to hicn-light forwarder MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I0531cd7a7de179581295ae34766c81cd9cf3e172 Signed-off-by: Jordan Augé Signed-off-by: Mauro Sardara Co-authored-by: Mauro Sardara --- hicn-light/src/hicn/processor/messageProcessor.h | 43 ++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'hicn-light/src/hicn/processor/messageProcessor.h') diff --git a/hicn-light/src/hicn/processor/messageProcessor.h b/hicn-light/src/hicn/processor/messageProcessor.h index 64b08272d..6804ba018 100644 --- a/hicn-light/src/hicn/processor/messageProcessor.h +++ b/hicn-light/src/hicn/processor/messageProcessor.h @@ -32,6 +32,12 @@ #include +#ifdef WITH_POLICY +#ifdef WITH_MAPME +#include +#endif /* WITH_MAPME */ +#endif /* WITH_POLICY */ + struct message_processor; typedef struct message_processor MessageProcessor; @@ -100,6 +106,43 @@ bool messageProcessor_RemoveRoute(MessageProcessor *processor, remove_route_command *control, unsigned ifidx); +#ifdef WITH_POLICY + +/** + * Adds or updates a policy in the FIB + * + * If the policy is already set, it is replaced + * + * @param [in] procesor An allocated message processor + * @param [in] control Control message + * + * @retval true added or updated + * @retval false An error + */ +bool messageProcessor_AddOrUpdatePolicy(MessageProcessor *processor, + add_policy_command *control); + +/** + * Removes a policy from the FIB + * + * Reset the policy in the FIB to the default (empty) policy. + * + * @param [in] procesor An allocated message processor + * @param [in] control Control message + * + * @retval true Policy completely removed + * @retval false There is still a nexthop for the policy + */ +bool messageProcessor_RemovePolicy(MessageProcessor *processor, + remove_policy_command *control); + +#ifdef WITH_MAPME +void messageProcessor_onConnectionEvent(const MessageProcessor *processor, + const Connection *conn_added, connection_event_t event); +#endif /* WITH_MAPME */ + +#endif /* WITH_POLICY */ + /** * Removes a given connection id from all FIB entries * -- cgit 1.2.3-korg