diff options
author | Jordan Augé <jordan.auge+fdio@cisco.com> | 2019-07-26 23:20:30 +0200 |
---|---|---|
committer | Mauro Sardara <msardara@cisco.com> | 2019-07-29 17:13:35 +0200 |
commit | 0a1c6b5565e20167d1f1f33a5a8b597f420b18b0 (patch) | |
tree | 98c5da8f231fbd3dc2ce6502040e29c8333d9ffc /hicn-light/src/hicn/core/forwarder.h | |
parent | 05ca0aa8f612ee48fb66d4dbebe596b7f1e03181 (diff) |
[HICN-252] Add per-application policy framework to hicn-light forwarder
Change-Id: I0531cd7a7de179581295ae34766c81cd9cf3e172
Signed-off-by: Jordan Augé <jordan.auge+fdio@cisco.com>
Signed-off-by: Mauro Sardara <msardara@cisco.com>
Co-authored-by: Mauro Sardara <msardara@cisco.com>
Diffstat (limited to 'hicn-light/src/hicn/core/forwarder.h')
-rw-r--r-- | hicn-light/src/hicn/core/forwarder.h | 38 |
1 files changed, 25 insertions, 13 deletions
diff --git a/hicn-light/src/hicn/core/forwarder.h b/hicn-light/src/hicn/core/forwarder.h index c1b279d2e..b8e68f0e4 100644 --- a/hicn-light/src/hicn/core/forwarder.h +++ b/hicn-light/src/hicn/core/forwarder.h @@ -156,7 +156,11 @@ ListenerSet *forwarder_GetListenerSet(Forwarder *forwarder); * @retval null An error * */ +#ifdef WITH_POLICY +ConnectionTable *forwarder_GetConnectionTable(const Forwarder *forwarder); +#else ConnectionTable *forwarder_GetConnectionTable(Forwarder *forwarder); +#endif /* WITH_POLICY */ /** * Returns a Tick-based clock @@ -209,6 +213,20 @@ bool forwarder_AddOrUpdateRoute(Forwarder *forwarder, bool forwarder_RemoveRoute(Forwarder *forwarder, remove_route_command *control, unsigned ifidx); +#ifdef WITH_POLICY +/** + * @function forwarder_AddOrUpdatePolicy + * @abstract Adds or updates a policy on the message processor + */ +bool forwarder_AddOrUpdatePolicy(Forwarder *forwarder, add_policy_command *control); + +/** + * @function forwarder_RemovePolicy + * @abstract Removes a policy from the message processor + */ +bool forwarder_RemovePolicy(Forwarder *forwarder, remove_policy_command *control); +#endif /* WITH_POLICY */ + /** * Removes a connection id from all routes */ @@ -260,23 +278,14 @@ hicn_socket_helper_t *forwarder_GetHicnSocketHelper(Forwarder *forwarder); FIB *forwarder_getFib(Forwarder *forwarder); /** - * @function forwarder_onConnectionAdded + * @function forwarder_onConnectionEvent * @abstract Callback fired upon addition of a new connection through the * control protocol. * @param [in] forwarder - Pointer to the hICN forwarder. * @param [in] conn - Pointer to the newly added connection. + * @param [in] event - Connection event */ -void forwarder_onConnectionAdded(Forwarder *forwarder, const Connection *conn); - -/** - * @function forwarder_onConnectionRemoved - * @abstract Callback fired upon removal of a connection through the control - * protocol. - * @param [in] forwarder - Pointer to the hICN forwarder. - * @param [in] conn - Pointer to the removed connection. - */ -void forwarder_onConnectionRemoved(Forwarder *forwarder, - const Connection *conn); +void forwarder_onConnectionEvent(Forwarder *forwarder, const Connection *conn, connection_event_t event); /** * @function forwarder_ProcessMapMe @@ -286,9 +295,12 @@ void forwarder_onConnectionRemoved(Forwarder *forwarder, * @param [in] msgBuffer - MAP-Me buffer * @param [in] conn_id - Ingress connection id */ -void forwarder_ProcessMapMe(Forwarder *forwarder, uint8_t *msgBuffer, +void forwarder_ProcessMapMe(Forwarder *forwarder, const uint8_t *msgBuffer, unsigned conn_id); +struct mapme; +struct mapme * forwarder_getMapmeInstance(const Forwarder *forwarder); + #endif /* WITH_MAPME */ #endif // forwarder_h |