18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci/* Copyright (C) 2007-2020 B.A.T.M.A.N. contributors: 38c2ecf20Sopenharmony_ci * 48c2ecf20Sopenharmony_ci * Marek Lindner, Simon Wunderlich 58c2ecf20Sopenharmony_ci */ 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci#ifndef _NET_BATMAN_ADV_ROUTING_H_ 88c2ecf20Sopenharmony_ci#define _NET_BATMAN_ADV_ROUTING_H_ 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci#include "main.h" 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci#include <linux/skbuff.h> 138c2ecf20Sopenharmony_ci#include <linux/types.h> 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_cibool batadv_check_management_packet(struct sk_buff *skb, 168c2ecf20Sopenharmony_ci struct batadv_hard_iface *hard_iface, 178c2ecf20Sopenharmony_ci int header_len); 188c2ecf20Sopenharmony_civoid batadv_update_route(struct batadv_priv *bat_priv, 198c2ecf20Sopenharmony_ci struct batadv_orig_node *orig_node, 208c2ecf20Sopenharmony_ci struct batadv_hard_iface *recv_if, 218c2ecf20Sopenharmony_ci struct batadv_neigh_node *neigh_node); 228c2ecf20Sopenharmony_ciint batadv_recv_icmp_packet(struct sk_buff *skb, 238c2ecf20Sopenharmony_ci struct batadv_hard_iface *recv_if); 248c2ecf20Sopenharmony_ciint batadv_recv_unicast_packet(struct sk_buff *skb, 258c2ecf20Sopenharmony_ci struct batadv_hard_iface *recv_if); 268c2ecf20Sopenharmony_ciint batadv_recv_frag_packet(struct sk_buff *skb, 278c2ecf20Sopenharmony_ci struct batadv_hard_iface *iface); 288c2ecf20Sopenharmony_ciint batadv_recv_bcast_packet(struct sk_buff *skb, 298c2ecf20Sopenharmony_ci struct batadv_hard_iface *recv_if); 308c2ecf20Sopenharmony_ciint batadv_recv_tt_query(struct sk_buff *skb, 318c2ecf20Sopenharmony_ci struct batadv_hard_iface *recv_if); 328c2ecf20Sopenharmony_ciint batadv_recv_roam_adv(struct sk_buff *skb, 338c2ecf20Sopenharmony_ci struct batadv_hard_iface *recv_if); 348c2ecf20Sopenharmony_ciint batadv_recv_unicast_tvlv(struct sk_buff *skb, 358c2ecf20Sopenharmony_ci struct batadv_hard_iface *recv_if); 368c2ecf20Sopenharmony_ciint batadv_recv_unhandled_unicast_packet(struct sk_buff *skb, 378c2ecf20Sopenharmony_ci struct batadv_hard_iface *recv_if); 388c2ecf20Sopenharmony_cistruct batadv_neigh_node * 398c2ecf20Sopenharmony_cibatadv_find_router(struct batadv_priv *bat_priv, 408c2ecf20Sopenharmony_ci struct batadv_orig_node *orig_node, 418c2ecf20Sopenharmony_ci struct batadv_hard_iface *recv_if); 428c2ecf20Sopenharmony_cibool batadv_window_protected(struct batadv_priv *bat_priv, s32 seq_num_diff, 438c2ecf20Sopenharmony_ci s32 seq_old_max_diff, unsigned long *last_reset, 448c2ecf20Sopenharmony_ci bool *protection_started); 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_ci#endif /* _NET_BATMAN_ADV_ROUTING_H_ */ 47