ifmap plugin subscribes to assing_vip bus signal
[strongswan.git] / src / libcharon / bus / listeners / listener.h
index 7822893..2747010 100644 (file)
@@ -190,6 +190,21 @@ struct listener_t {
         */
        bool (*narrow)(listener_t *this, ike_sa_t *ike_sa, child_sa_t *child_sa,
                                narrow_hook_t type, linked_list_t *local, linked_list_t *remote);
+
+       /**
+        * Virtual IP address assignment hook
+        *
+        * This hook gets invoked when a a Virtual IP address is assigned to an
+        * IKE_SA (assign = TRUE) and again when it is released (assign = FALSE)
+        *
+        * @param ike_sa        IKE_SA the VIP is assigned to
+        * @param vip           Virtual IPv4 or IV6 address
+        * @param assign        TRUE if assigned to IKE_SA, FALSE if released
+        * @return                      TRUE to stay registered, FALSE to unregister
+        */
+       bool (*assign_vip)(listener_t *this, ike_sa_t *ike_sa, host_t *vip,
+                                          bool assign);
+
 };
 
 #endif /** LISTENER_H_ @}*/