Lines Matching refs:rann

408 	struct ieee80211_meshrann_ie rann;
563 memcpy(&rann, mrann, sizeof(rann));
564 rann.rann_seq = le32dec(&mrann->rann_seq);
565 rann.rann_interval = le32dec(&mrann->rann_interval);
566 rann.rann_metric = le32dec(&mrann->rann_metric);
567 hwmp_recv_rann(vap, ni, wh, &rann);
789 hwmp_add_meshrann(uint8_t *frm, const struct ieee80211_meshrann_ie *rann)
792 *frm++ = rann->rann_len;
793 *frm++ = rann->rann_flags;
794 *frm++ = rann->rann_hopcount;
795 *frm++ = rann->rann_ttl;
796 IEEE80211_ADDR_COPY(frm, rann->rann_addr); frm += 6;
797 ADDWORD(frm, rann->rann_seq);
798 ADDWORD(frm, rann->rann_interval);
799 ADDWORD(frm, rann->rann_metric);
882 struct ieee80211_meshrann_ie rann;
887 rann.rann_flags = 0;
889 rann.rann_flags |= IEEE80211_MESHFLAGS_GATE;
890 rann.rann_hopcount = 0;
891 rann.rann_ttl = ms->ms_ttl;
892 IEEE80211_ADDR_COPY(rann.rann_addr, vap->iv_myaddr);
893 rann.rann_seq = ++hs->hs_seq;
894 rann.rann_interval = ieee80211_hwmp_rannint;
895 rann.rann_metric = IEEE80211_MESHLMETRIC_INITIALVAL;
898 hwmp_send_rann(vap, broadcastaddr, &rann);
1740 const struct ieee80211_frame *wh, const struct ieee80211_meshrann_ie *rann)
1749 if (IEEE80211_ADDR_EQ(rann->rann_addr, vap->iv_myaddr))
1752 rt = ieee80211_mesh_rt_find(vap, rann->rann_addr);
1757 if (HWMP_SEQ_LT(rann->rann_seq, hr->hr_seq)) {
1759 "RANN seq %u < %u", rann->rann_seq, hr->hr_seq);
1765 if (HWMP_SEQ_EQ(rann->rann_seq, hr->hr_seq) &&
1766 rann->rann_metric > rt->rt_metric) {
1768 "RANN metric %u > %u", rann->rann_metric, rt->rt_metric);
1775 ieee80211_hwmp_rannint = rann->rann_interval; /* XXX: mtx lock? */
1778 rt = ieee80211_mesh_rt_add(vap, rann->rann_addr);
1782 rann->rann_addr, ":");
1789 if (rann->rann_flags & IEEE80211_MESHRANN_FLAGS_GATE) {
1793 gr = ieee80211_mesh_mark_gate(vap, rann->rann_addr,
1812 IEEE80211_ADDR_COPY(preq.preq_targets[0].target_addr, rann->rann_addr);
1813 preq.preq_targets[0].target_seq = rann->rann_seq;
1820 rann->rann_ttl > 1 &&
1822 hr->hr_seq = rann->rann_seq;
1823 memcpy(&prann, rann, sizeof(prann));
1834 struct ieee80211_meshrann_ie *rann)
1837 * mesh rann action frame format
1845 rann->rann_ie = IEEE80211_ELEMID_MESHRANN;
1846 rann->rann_len = IEEE80211_MESHRANN_BASE_SZ;
1847 return hwmp_send_action(vap, da, (uint8_t *)rann, rann->rann_len + 2);