linux/net/mac80211/mesh_sync.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright 2011-2012, Pavel Zubarev <[email protected]>
 * Copyright 2011-2012, Marco Porsch <[email protected]>
 * Copyright 2011-2012, cozybit Inc.
 * Copyright (C) 2021,2023 Intel Corporation
 */

#include "ieee80211_i.h"
#include "mesh.h"
#include "driver-ops.h"

/* This is not in the standard.  It represents a tolerable tsf drift below
 * which we do no TSF adjustment.
 */
#define TOFFSET_MINIMUM_ADJUSTMENT

/* This is not in the standard. It is a margin added to the
 * Toffset setpoint to mitigate TSF overcorrection
 * introduced by TSF adjustment latency.
 */
#define TOFFSET_SET_MARGIN

/* This is not in the standard.  It represents the maximum Toffset jump above
 * which we'll invalidate the Toffset setpoint and choose a new setpoint.  This
 * could be, for instance, in case a neighbor is restarted and its TSF counter
 * reset.
 */
#define TOFFSET_MAXIMUM_ADJUSTMENT

struct sync_method {};

/**
 * mesh_peer_tbtt_adjusting - check if an mp is currently adjusting its TBTT
 *
 * @cfg: mesh config element from the mesh peer (or %NULL)
 *
 * Returns: If the mesh peer is currently adjusting its TBTT
 */
static bool mesh_peer_tbtt_adjusting(const struct ieee80211_meshconf_ie *cfg)
{}

void mesh_sync_adjust_tsf(struct ieee80211_sub_if_data *sdata)
{}

static void
mesh_sync_offset_rx_bcn_presp(struct ieee80211_sub_if_data *sdata, u16 stype,
			      struct ieee80211_mgmt *mgmt, unsigned int len,
			      const struct ieee80211_meshconf_ie *mesh_cfg,
			      struct ieee80211_rx_status *rx_status)
{}

static void mesh_sync_offset_adjust_tsf(struct ieee80211_sub_if_data *sdata,
					 struct beacon_data *beacon)
{}

static const struct sync_method sync_methods[] =;

const struct ieee80211_mesh_sync_ops *ieee80211_mesh_sync_ops_get(u8 method)
{}