Lines Matching refs:frm

1837 	uint8_t *frm, *efrm;  in mesh_recv_mgmt()  local
1840 frm = (uint8_t *)&wh[1]; in mesh_recv_mgmt()
2002 while (efrm - frm > 1) { in mesh_recv_mgmt()
2003 IEEE80211_VERIFY_LENGTH(efrm - frm, frm[1] + 2, return); in mesh_recv_mgmt()
2004 switch (*frm) { in mesh_recv_mgmt()
2006 ssid = frm; in mesh_recv_mgmt()
2009 rates = frm; in mesh_recv_mgmt()
2012 xrates = frm; in mesh_recv_mgmt()
2015 meshid = frm; in mesh_recv_mgmt()
2018 frm += frm[1] + 2; in mesh_recv_mgmt()
2063 (void)ic->ic_recv_action(ni, wh, frm, efrm); in mesh_recv_mgmt()
2106 const uint8_t *frm, const uint8_t *efrm, in mesh_parse_meshpeering_action() argument
2116 while (efrm - frm > 1) { in mesh_parse_meshpeering_action()
2117 IEEE80211_VERIFY_LENGTH(efrm - frm, frm[1] + 2, return NULL); in mesh_parse_meshpeering_action()
2118 switch (*frm) { in mesh_parse_meshpeering_action()
2120 meshid = frm; in mesh_parse_meshpeering_action()
2123 meshconf = frm; in mesh_parse_meshpeering_action()
2126 mpie = (const struct ieee80211_meshpeer_ie *) frm; in mesh_parse_meshpeering_action()
2153 frm += frm[1] + 2; in mesh_parse_meshpeering_action()
2235 const uint8_t *frm, const uint8_t *efrm) in mesh_recv_action_meshpeering_open() argument
2244 meshpeer = mesh_parse_meshpeering_action(ni, wh, frm+2+2, efrm, &ie, in mesh_recv_action_meshpeering_open()
2383 const uint8_t *frm, const uint8_t *efrm) in mesh_recv_action_meshpeering_confirm() argument
2391 meshpeer = mesh_parse_meshpeering_action(ni, wh, frm+2+2+2+2, efrm, &ie, in mesh_recv_action_meshpeering_confirm()
2447 const uint8_t *frm, const uint8_t *efrm) in mesh_recv_action_meshpeering_close() argument
2454 meshpeer = mesh_parse_meshpeering_action(ni, wh, frm+2, efrm, &ie, in mesh_recv_action_meshpeering_close()
2501 const uint8_t *frm, const uint8_t *efrm) in mesh_recv_action_meshlmetric() argument
2505 (frm+2); /* action + code */ in mesh_recv_action_meshlmetric()
2527 struct ieee80211_meshgann_ie *ie, const uint8_t *frm, const uint8_t *efrm) in mesh_parse_meshgate_action() argument
2532 while (efrm - frm > 1) { in mesh_parse_meshgate_action()
2533 IEEE80211_VERIFY_LENGTH(efrm - frm, frm[1] + 2, return -1); in mesh_parse_meshgate_action()
2534 switch (*frm) { in mesh_parse_meshgate_action()
2536 gannie = (const struct ieee80211_meshgann_ie *) frm; in mesh_parse_meshgate_action()
2548 frm += frm[1] + 2; in mesh_parse_meshgate_action()
2560 const uint8_t *frm, const uint8_t *efrm) in mesh_recv_action_meshgate() argument
2571 if (mesh_parse_meshgate_action(ni, wh, &ie, frm+2, efrm) != 0) { in mesh_recv_action_meshgate()
2695 #define ADDSHORT(frm, v) do { \ argument
2696 frm[0] = (v) & 0xff; \
2697 frm[1] = (v) >> 8; \
2698 frm += 2; \
2700 #define ADDWORD(frm, v) do { \ argument
2701 frm[0] = (v) & 0xff; \
2702 frm[1] = ((v) >> 8) & 0xff; \
2703 frm[2] = ((v) >> 16) & 0xff; \
2704 frm[3] = ((v) >> 24) & 0xff; \
2705 frm += 4; \
2717 uint8_t *frm; in mesh_send_action_meshpeering_open() local
2727 m = ieee80211_getmgtframe(&frm, in mesh_send_action_meshpeering_open()
2749 *frm++ = category; in mesh_send_action_meshpeering_open()
2750 *frm++ = action; in mesh_send_action_meshpeering_open()
2751 ADDSHORT(frm, ieee80211_getcapinfo(vap, ni->ni_chan)); in mesh_send_action_meshpeering_open()
2753 frm = ieee80211_add_rates(frm, rs); in mesh_send_action_meshpeering_open()
2754 frm = ieee80211_add_xrates(frm, rs); in mesh_send_action_meshpeering_open()
2755 frm = ieee80211_add_meshid(frm, vap); in mesh_send_action_meshpeering_open()
2756 frm = ieee80211_add_meshconf(frm, vap); in mesh_send_action_meshpeering_open()
2757 frm = ieee80211_add_meshpeer(frm, IEEE80211_ACTION_MESHPEERING_OPEN, in mesh_send_action_meshpeering_open()
2759 m->m_pkthdr.len = m->m_len = frm - mtod(m, uint8_t *); in mesh_send_action_meshpeering_open()
2777 uint8_t *frm; in mesh_send_action_meshpeering_confirm() local
2788 m = ieee80211_getmgtframe(&frm, in mesh_send_action_meshpeering_confirm()
2814 *frm++ = category; in mesh_send_action_meshpeering_confirm()
2815 *frm++ = action; in mesh_send_action_meshpeering_confirm()
2816 ADDSHORT(frm, ieee80211_getcapinfo(vap, ni->ni_chan)); in mesh_send_action_meshpeering_confirm()
2817 ADDSHORT(frm, 0); /* status code */ in mesh_send_action_meshpeering_confirm()
2818 ADDSHORT(frm, args[1]); /* AID */ in mesh_send_action_meshpeering_confirm()
2820 frm = ieee80211_add_rates(frm, rs); in mesh_send_action_meshpeering_confirm()
2821 frm = ieee80211_add_xrates(frm, rs); in mesh_send_action_meshpeering_confirm()
2822 frm = ieee80211_add_meshid(frm, vap); in mesh_send_action_meshpeering_confirm()
2823 frm = ieee80211_add_meshconf(frm, vap); in mesh_send_action_meshpeering_confirm()
2824 frm = ieee80211_add_meshpeer(frm, in mesh_send_action_meshpeering_confirm()
2827 m->m_pkthdr.len = m->m_len = frm - mtod(m, uint8_t *); in mesh_send_action_meshpeering_confirm()
2844 uint8_t *frm; in mesh_send_action_meshpeering_close() local
2855 m = ieee80211_getmgtframe(&frm, in mesh_send_action_meshpeering_close()
2870 *frm++ = category; in mesh_send_action_meshpeering_close()
2871 *frm++ = action; in mesh_send_action_meshpeering_close()
2872 frm = ieee80211_add_meshid(frm, vap); in mesh_send_action_meshpeering_close()
2873 frm = ieee80211_add_meshpeer(frm, in mesh_send_action_meshpeering_close()
2876 m->m_pkthdr.len = m->m_len = frm - mtod(m, uint8_t *); in mesh_send_action_meshpeering_close()
2893 uint8_t *frm; in mesh_send_action_meshlmetric() local
2908 m = ieee80211_getmgtframe(&frm, in mesh_send_action_meshlmetric()
2920 *frm++ = category; in mesh_send_action_meshlmetric()
2921 *frm++ = action; in mesh_send_action_meshlmetric()
2922 frm = ieee80211_add_meshlmetric(frm, in mesh_send_action_meshlmetric()
2924 m->m_pkthdr.len = m->m_len = frm - mtod(m, uint8_t *); in mesh_send_action_meshlmetric()
2941 uint8_t *frm; in mesh_send_action_meshgate() local
2948 m = ieee80211_getmgtframe(&frm, in mesh_send_action_meshgate()
2960 *frm++ = category; in mesh_send_action_meshgate()
2961 *frm++ = action; in mesh_send_action_meshgate()
2962 frm = ieee80211_add_meshgate(frm, ie); in mesh_send_action_meshgate()
2963 m->m_pkthdr.len = m->m_len = frm - mtod(m, uint8_t *); in mesh_send_action_meshgate()
3185 ieee80211_add_meshid(uint8_t *frm, struct ieee80211vap *vap) in ieee80211_add_meshid() argument
3191 *frm++ = IEEE80211_ELEMID_MESHID; in ieee80211_add_meshid()
3192 *frm++ = ms->ms_idlen; in ieee80211_add_meshid()
3193 memcpy(frm, ms->ms_id, ms->ms_idlen); in ieee80211_add_meshid()
3194 return frm + ms->ms_idlen; in ieee80211_add_meshid()
3203 ieee80211_add_meshconf(uint8_t *frm, struct ieee80211vap *vap) in ieee80211_add_meshconf() argument
3210 *frm++ = IEEE80211_ELEMID_MESHCONF; in ieee80211_add_meshconf()
3211 *frm++ = IEEE80211_MESH_CONF_SZ; in ieee80211_add_meshconf()
3212 *frm++ = ms->ms_ppath->mpp_ie; /* path selection */ in ieee80211_add_meshconf()
3213 *frm++ = ms->ms_pmetric->mpm_ie; /* link metric */ in ieee80211_add_meshconf()
3214 *frm++ = IEEE80211_MESHCONF_CC_DISABLED; in ieee80211_add_meshconf()
3215 *frm++ = IEEE80211_MESHCONF_SYNC_NEIGHOFF; in ieee80211_add_meshconf()
3216 *frm++ = IEEE80211_MESHCONF_AUTH_DISABLED; in ieee80211_add_meshconf()
3218 *frm = (ms->ms_neighbors > IEEE80211_MESH_MAX_NEIGHBORS ? in ieee80211_add_meshconf()
3221 *frm |= IEEE80211_MESHCONF_FORM_GATE; in ieee80211_add_meshconf()
3222 frm += 1; in ieee80211_add_meshconf()
3228 *frm++ = caps; in ieee80211_add_meshconf()
3229 return frm; in ieee80211_add_meshconf()
3236 ieee80211_add_meshpeer(uint8_t *frm, uint8_t subtype, uint16_t localid, in ieee80211_add_meshpeer() argument
3242 *frm++ = IEEE80211_ELEMID_MESHPEER; in ieee80211_add_meshpeer()
3245 *frm++ = IEEE80211_MPM_BASE_SZ; /* length */ in ieee80211_add_meshpeer()
3246 ADDSHORT(frm, IEEE80211_MPPID_MPM); /* proto */ in ieee80211_add_meshpeer()
3247 ADDSHORT(frm, localid); /* local ID */ in ieee80211_add_meshpeer()
3251 *frm++ = IEEE80211_MPM_BASE_SZ + 2; /* length */ in ieee80211_add_meshpeer()
3252 ADDSHORT(frm, IEEE80211_MPPID_MPM); /* proto */ in ieee80211_add_meshpeer()
3253 ADDSHORT(frm, localid); /* local ID */ in ieee80211_add_meshpeer()
3254 ADDSHORT(frm, peerid); /* peer ID */ in ieee80211_add_meshpeer()
3258 *frm++ = IEEE80211_MPM_MAX_SZ; /* length */ in ieee80211_add_meshpeer()
3260 *frm++ = IEEE80211_MPM_BASE_SZ + 2; /* length */ in ieee80211_add_meshpeer()
3261 ADDSHORT(frm, IEEE80211_MPPID_MPM); /* proto */ in ieee80211_add_meshpeer()
3262 ADDSHORT(frm, localid); /* local ID */ in ieee80211_add_meshpeer()
3264 ADDSHORT(frm, peerid); /* peer ID */ in ieee80211_add_meshpeer()
3265 ADDSHORT(frm, reason); in ieee80211_add_meshpeer()
3268 return frm; in ieee80211_add_meshpeer()
3321 ieee80211_add_meshlmetric(uint8_t *frm, uint8_t flags, uint32_t metric) in ieee80211_add_meshlmetric() argument
3323 *frm++ = IEEE80211_ELEMID_MESHLINK; in ieee80211_add_meshlmetric()
3324 *frm++ = 5; in ieee80211_add_meshlmetric()
3325 *frm++ = flags; in ieee80211_add_meshlmetric()
3326 ADDWORD(frm, metric); in ieee80211_add_meshlmetric()
3327 return frm; in ieee80211_add_meshlmetric()
3334 ieee80211_add_meshgate(uint8_t *frm, struct ieee80211_meshgann_ie *ie) in ieee80211_add_meshgate() argument
3336 *frm++ = IEEE80211_ELEMID_MESHGANN; /* ie */ in ieee80211_add_meshgate()
3337 *frm++ = IEEE80211_MESHGANN_BASE_SZ; /* len */ in ieee80211_add_meshgate()
3338 *frm++ = ie->gann_flags; in ieee80211_add_meshgate()
3339 *frm++ = ie->gann_hopcount; in ieee80211_add_meshgate()
3340 *frm++ = ie->gann_ttl; in ieee80211_add_meshgate()
3341 IEEE80211_ADDR_COPY(frm, ie->gann_addr); in ieee80211_add_meshgate()
3342 frm += 6; in ieee80211_add_meshgate()
3343 ADDWORD(frm, ie->gann_seq); in ieee80211_add_meshgate()
3344 ADDSHORT(frm, ie->gann_interval); in ieee80211_add_meshgate()
3345 return frm; in ieee80211_add_meshgate()