batman-adv: add bat_neigh_free API
[firefly-linux-kernel-4.4.55.git] / net / batman-adv / types.h
index c1000c0d6b0de06c8abc0983bbfa79e20ff1cc8a..336f94bba55813ef339b208d461fcd33366dc2a4 100644 (file)
@@ -1121,6 +1121,8 @@ struct batadv_forw_packet {
  * @bat_neigh_is_equiv_or_better: check if neigh1 is equally good or better
  *  than neigh2 for their respective outgoing interface from the metric
  *  prospective
+ * @bat_neigh_free: free the resources allocated by the routing algorithm for a
+ *  neigh_node object
  * @bat_orig_print: print the originator table (optional)
  * @bat_orig_free: free the resources allocated by the routing algorithm for an
  *  orig_node object
@@ -1138,6 +1140,7 @@ struct batadv_algo_ops {
        void (*bat_primary_iface_set)(struct batadv_hard_iface *hard_iface);
        void (*bat_ogm_schedule)(struct batadv_hard_iface *hard_iface);
        void (*bat_ogm_emit)(struct batadv_forw_packet *forw_packet);
+       /* neigh_node handling API */
        int (*bat_neigh_cmp)(struct batadv_neigh_node *neigh1,
                             struct batadv_hard_iface *if_outgoing1,
                             struct batadv_neigh_node *neigh2,
@@ -1147,6 +1150,7 @@ struct batadv_algo_ops {
                 struct batadv_hard_iface *if_outgoing1,
                 struct batadv_neigh_node *neigh2,
                 struct batadv_hard_iface *if_outgoing2);
+       void (*bat_neigh_free)(struct batadv_neigh_node *neigh);
        /* orig_node handling API */
        void (*bat_orig_print)(struct batadv_priv *priv, struct seq_file *seq,
                               struct batadv_hard_iface *hard_iface);