cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

network-coding.h (2779B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/* Copyright (C) B.A.T.M.A.N. contributors:
      3 *
      4 * Martin Hundebøll, Jeppe Ledet-Pedersen
      5 */
      6
      7#ifndef _NET_BATMAN_ADV_NETWORK_CODING_H_
      8#define _NET_BATMAN_ADV_NETWORK_CODING_H_
      9
     10#include "main.h"
     11
     12#include <linux/netdevice.h>
     13#include <linux/skbuff.h>
     14#include <linux/types.h>
     15#include <uapi/linux/batadv_packet.h>
     16
     17#ifdef CONFIG_BATMAN_ADV_NC
     18
     19void batadv_nc_status_update(struct net_device *net_dev);
     20int batadv_nc_init(void);
     21int batadv_nc_mesh_init(struct batadv_priv *bat_priv);
     22void batadv_nc_mesh_free(struct batadv_priv *bat_priv);
     23void batadv_nc_update_nc_node(struct batadv_priv *bat_priv,
     24			      struct batadv_orig_node *orig_node,
     25			      struct batadv_orig_node *orig_neigh_node,
     26			      struct batadv_ogm_packet *ogm_packet,
     27			      int is_single_hop_neigh);
     28void batadv_nc_purge_orig(struct batadv_priv *bat_priv,
     29			  struct batadv_orig_node *orig_node,
     30			  bool (*to_purge)(struct batadv_priv *,
     31					   struct batadv_nc_node *));
     32void batadv_nc_init_bat_priv(struct batadv_priv *bat_priv);
     33void batadv_nc_init_orig(struct batadv_orig_node *orig_node);
     34bool batadv_nc_skb_forward(struct sk_buff *skb,
     35			   struct batadv_neigh_node *neigh_node);
     36void batadv_nc_skb_store_for_decoding(struct batadv_priv *bat_priv,
     37				      struct sk_buff *skb);
     38void batadv_nc_skb_store_sniffed_unicast(struct batadv_priv *bat_priv,
     39					 struct sk_buff *skb);
     40
     41#else /* ifdef CONFIG_BATMAN_ADV_NC */
     42
     43static inline void batadv_nc_status_update(struct net_device *net_dev)
     44{
     45}
     46
     47static inline int batadv_nc_init(void)
     48{
     49	return 0;
     50}
     51
     52static inline int batadv_nc_mesh_init(struct batadv_priv *bat_priv)
     53{
     54	return 0;
     55}
     56
     57static inline void batadv_nc_mesh_free(struct batadv_priv *bat_priv)
     58{
     59}
     60
     61static inline void
     62batadv_nc_update_nc_node(struct batadv_priv *bat_priv,
     63			 struct batadv_orig_node *orig_node,
     64			 struct batadv_orig_node *orig_neigh_node,
     65			 struct batadv_ogm_packet *ogm_packet,
     66			 int is_single_hop_neigh)
     67{
     68}
     69
     70static inline void
     71batadv_nc_purge_orig(struct batadv_priv *bat_priv,
     72		     struct batadv_orig_node *orig_node,
     73		     bool (*to_purge)(struct batadv_priv *,
     74				      struct batadv_nc_node *))
     75{
     76}
     77
     78static inline void batadv_nc_init_bat_priv(struct batadv_priv *bat_priv)
     79{
     80}
     81
     82static inline void batadv_nc_init_orig(struct batadv_orig_node *orig_node)
     83{
     84}
     85
     86static inline bool batadv_nc_skb_forward(struct sk_buff *skb,
     87					 struct batadv_neigh_node *neigh_node)
     88{
     89	return false;
     90}
     91
     92static inline void
     93batadv_nc_skb_store_for_decoding(struct batadv_priv *bat_priv,
     94				 struct sk_buff *skb)
     95{
     96}
     97
     98static inline void
     99batadv_nc_skb_store_sniffed_unicast(struct batadv_priv *bat_priv,
    100				    struct sk_buff *skb)
    101{
    102}
    103
    104#endif /* ifdef CONFIG_BATMAN_ADV_NC */
    105
    106#endif /* _NET_BATMAN_ADV_NETWORK_CODING_H_ */