Lines Matching refs:ie

2105  * Parse meshpeering action ie's for MPM frames
2243 struct ieee80211_meshpeer_ie ie;
2248 meshpeer = mesh_parse_meshpeering_action(ni, wh, frm+2+2, efrm, &ie,
2390 struct ieee80211_meshpeer_ie ie;
2395 meshpeer = mesh_parse_meshpeering_action(ni, wh, frm+2+2+2+2, efrm, &ie,
2453 struct ieee80211_meshpeer_ie ie;
2458 meshpeer = mesh_parse_meshpeering_action(ni, wh, frm+2, efrm, &ie,
2507 const struct ieee80211_meshlmetric_ie *ie =
2512 if (ie->lm_flags & IEEE80211_MESH_LMETRIC_FLAGS_REQ) {
2525 * Parse meshgate action ie's for GANN frames.
2531 struct ieee80211_meshgann_ie *ie, const uint8_t *frm, const uint8_t *efrm)
2541 memset(ie, 0, sizeof(*ie));
2542 ie->gann_ie = gannie->gann_ie;
2543 ie->gann_len = gannie->gann_len;
2544 ie->gann_flags = gannie->gann_flags;
2545 ie->gann_hopcount = gannie->gann_hopcount;
2546 ie->gann_ttl = gannie->gann_ttl;
2547 IEEE80211_ADDR_COPY(ie->gann_addr, gannie->gann_addr);
2548 ie->gann_seq = le32dec(&gannie->gann_seq);
2549 ie->gann_interval = le16dec(&gannie->gann_interval);
2571 struct ieee80211_meshgann_ie ie;
2575 if (mesh_parse_meshgate_action(ni, wh, &ie, frm+2, efrm) != 0) {
2583 if (IEEE80211_ADDR_EQ(vap->iv_myaddr, ie.gann_addr))
2587 "received GANN, meshgate: %6D (seq %u)", ie.gann_addr, ":",
2588 ie.gann_seq);
2594 if (!IEEE80211_ADDR_EQ(gr->gr_addr, ie.gann_addr))
2596 if (ie.gann_seq <= gr->gr_lastseq) {
2600 ie.gann_seq, gr->gr_lastseq);
2610 IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_MESH, ie.gann_addr,
2611 "stored new GANN information, seq %u.", ie.gann_seq);
2615 IEEE80211_ADDR_COPY(gr->gr_addr, ie.gann_addr);
2618 gr->gr_lastseq = ie.gann_seq;
2631 if ((ie.gann_ttl - 1) < 1 && !(ms->ms_flags & IEEE80211_MESHFLAGS_FWD))
2633 pgann.gann_flags = ie.gann_flags; /* Reserved */
2634 pgann.gann_hopcount = ie.gann_hopcount + 1;
2635 pgann.gann_ttl = ie.gann_ttl - 1;
2636 IEEE80211_ADDR_COPY(pgann.gann_addr, ie.gann_addr);
2637 pgann.gann_seq = ie.gann_seq;
2638 pgann.gann_interval = ie.gann_interval;
2640 IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_MESH, ie.gann_addr,
2895 struct ieee80211_meshlmetric_ie *ie = arg0;
2899 if (ie->lm_flags & IEEE80211_MESH_LMETRIC_FLAGS_REQ) {
2905 ie->lm_metric);
2927 ie->lm_flags, ie->lm_metric);
2943 struct ieee80211_meshgann_ie *ie = arg0;
2966 frm = ieee80211_add_meshgate(frm, ie);
3085 mesh_verify_meshid(struct ieee80211vap *vap, const uint8_t *ie)
3089 if (ie == NULL || ie[1] != ms->ms_idlen)
3091 return memcmp(ms->ms_id, ie + 2, ms->ms_idlen);
3098 mesh_verify_meshconf(struct ieee80211vap *vap, const uint8_t *ie)
3101 (const struct ieee80211_meshconf_ie *) ie;
3147 const uint8_t *ie)
3150 (const struct ieee80211_meshpeer_ie *) ie;
3338 ieee80211_add_meshgate(uint8_t *frm, struct ieee80211_meshgann_ie *ie)
3340 *frm++ = IEEE80211_ELEMID_MESHGANN; /* ie */
3342 *frm++ = ie->gann_flags;
3343 *frm++ = ie->gann_hopcount;
3344 *frm++ = ie->gann_ttl;
3345 IEEE80211_ADDR_COPY(frm, ie->gann_addr);
3347 ADDWORD(frm, ie->gann_seq);
3348 ADDSHORT(frm, ie->gann_interval);
3382 ieee80211_parse_meshid(struct ieee80211_node *ni, const uint8_t *ie)
3384 ni->ni_meshidlen = ie[1];
3385 memcpy(ni->ni_meshid, ie + 2, ie[1]);