f89255a02f
In preparation for the OGMv2 packet aggregation, hold OGMv2 packets for up to BATADV_MAX_AGGREGATION_MS milliseconds (100ms) on per hard-interface queues, before transmitting. This allows us to later squash multiple OGMs into a single frame and transmission for reduced overhead. Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue> Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
28 lines
925 B
C
28 lines
925 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/* Copyright (C) 2013-2019 B.A.T.M.A.N. contributors:
|
|
*
|
|
* Antonio Quartulli
|
|
*/
|
|
|
|
#ifndef _NET_BATMAN_ADV_BAT_V_OGM_H_
|
|
#define _NET_BATMAN_ADV_BAT_V_OGM_H_
|
|
|
|
#include "main.h"
|
|
|
|
#include <linux/skbuff.h>
|
|
#include <linux/types.h>
|
|
#include <linux/workqueue.h>
|
|
|
|
int batadv_v_ogm_init(struct batadv_priv *bat_priv);
|
|
void batadv_v_ogm_free(struct batadv_priv *bat_priv);
|
|
void batadv_v_ogm_aggr_work(struct work_struct *work);
|
|
int batadv_v_ogm_iface_enable(struct batadv_hard_iface *hard_iface);
|
|
void batadv_v_ogm_iface_disable(struct batadv_hard_iface *hard_iface);
|
|
struct batadv_orig_node *batadv_v_ogm_orig_get(struct batadv_priv *bat_priv,
|
|
const u8 *addr);
|
|
void batadv_v_ogm_primary_iface_set(struct batadv_hard_iface *primary_iface);
|
|
int batadv_v_ogm_packet_recv(struct sk_buff *skb,
|
|
struct batadv_hard_iface *if_incoming);
|
|
|
|
#endif /* _NET_BATMAN_ADV_BAT_V_OGM_H_ */
|