summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211_mesh.h
diff options
context:
space:
mode:
authormonthadar <monthadar@FreeBSD.org>2013-02-07 21:26:40 +0000
committermonthadar <monthadar@FreeBSD.org>2013-02-07 21:26:40 +0000
commitf3631fce3f3e16db66e87041ac6b159a0fe005e0 (patch)
tree7d8d62618527b645835d807e6f9d1a9ec2ef9f5f /sys/net80211/ieee80211_mesh.h
parent9cc12d2c5f7a100b44e6de96a1d195b962db14d3 (diff)
downloadFreeBSD-src-f3631fce3f3e16db66e87041ac6b159a0fe005e0.zip
FreeBSD-src-f3631fce3f3e16db66e87041ac6b159a0fe005e0.tar.gz
HWMP: ic->raw_xmit didn't always point to correct ni.
This is a code re-write. ic->raw_xmit need a pointer to ieee80211_node for the destination node (da). I have reorganized the code so that a pointer to the da node is searched for in the end & in one place. * Make mesh_find_txnode public to be used by HWMP, renamed to ieee80211_mesh_finx_txnode; * changed the argument from ieee80211_node to ieee80211vap for all hwmp_send_* functions; * removed the 'sa' argument from hwmp_send_* functions as all HWMP frames have the source address equal to vap->iv_myaddr; * Modified hwmp_send_action so that if da is MULTCAST ni=vap->iv_bss otherwise we called ieee80211_mesh_find_txnode. Also no need to hold a reference in this functions if da is not MULTICAST as by finding the node it became referenced in ieee80211_find_txnode; Approved by: adrian (mentor)
Diffstat (limited to 'sys/net80211/ieee80211_mesh.h')
-rw-r--r--sys/net80211/ieee80211_mesh.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/net80211/ieee80211_mesh.h b/sys/net80211/ieee80211_mesh.h
index 84a3ef7..5dc2b2c 100644
--- a/sys/net80211/ieee80211_mesh.h
+++ b/sys/net80211/ieee80211_mesh.h
@@ -571,6 +571,9 @@ struct ieee80211_mesh_gate_route *
const uint8_t *, struct ieee80211_mesh_route *);
void ieee80211_mesh_forward_to_gates(struct ieee80211vap *,
struct ieee80211_mesh_route *);
+struct ieee80211_node *
+ ieee80211_mesh_find_txnode(struct ieee80211vap *,
+ const uint8_t [IEEE80211_ADDR_LEN]);
/*
* Return non-zero if proxy operation is enabled.
OpenPOWER on IntegriCloud