Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

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