Lines Matching defs:ie

2101  * Parse meshpeering action ie's for MPM frames
2239 struct ieee80211_meshpeer_ie ie;
2244 meshpeer = mesh_parse_meshpeering_action(ni, wh, frm+2+2, efrm, &ie,
2386 struct ieee80211_meshpeer_ie ie;
2391 meshpeer = mesh_parse_meshpeering_action(ni, wh, frm+2+2+2+2, efrm, &ie,
2449 struct ieee80211_meshpeer_ie ie;
2454 meshpeer = mesh_parse_meshpeering_action(ni, wh, frm+2, efrm, &ie,
2503 const struct ieee80211_meshlmetric_ie *ie =
2508 if (ie->lm_flags & IEEE80211_MESH_LMETRIC_FLAGS_REQ) {
2521 * Parse meshgate action ie's for GANN frames.
2527 struct ieee80211_meshgann_ie *ie, const uint8_t *frm, const uint8_t *efrm)
2537 memset(ie, 0, sizeof(*ie));
2538 ie->gann_ie = gannie->gann_ie;
2539 ie->gann_len = gannie->gann_len;
2540 ie->gann_flags = gannie->gann_flags;
2541 ie->gann_hopcount = gannie->gann_hopcount;
2542 ie->gann_ttl = gannie->gann_ttl;
2543 IEEE80211_ADDR_COPY(ie->gann_addr, gannie->gann_addr);
2544 ie->gann_seq = le32dec(&gannie->gann_seq);
2545 ie->gann_interval = le16dec(&gannie->gann_interval);
2567 struct ieee80211_meshgann_ie ie;
2571 if (mesh_parse_meshgate_action(ni, wh, &ie, frm+2, efrm) != 0) {
2579 if (IEEE80211_ADDR_EQ(vap->iv_myaddr, ie.gann_addr))
2583 "received GANN, meshgate: %6D (seq %u)", ie.gann_addr, ":",
2584 ie.gann_seq);
2590 if (!IEEE80211_ADDR_EQ(gr->gr_addr, ie.gann_addr))
2592 if (ie.gann_seq <= gr->gr_lastseq) {
2596 ie.gann_seq, gr->gr_lastseq);
2606 IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_MESH, ie.gann_addr,
2607 "stored new GANN information, seq %u.", ie.gann_seq);
2611 IEEE80211_ADDR_COPY(gr->gr_addr, ie.gann_addr);
2614 gr->gr_lastseq = ie.gann_seq;
2627 if ((ie.gann_ttl - 1) < 1 && !(ms->ms_flags & IEEE80211_MESHFLAGS_FWD))
2629 pgann.gann_flags = ie.gann_flags; /* Reserved */
2630 pgann.gann_hopcount = ie.gann_hopcount + 1;
2631 pgann.gann_ttl = ie.gann_ttl - 1;
2632 IEEE80211_ADDR_COPY(pgann.gann_addr, ie.gann_addr);
2633 pgann.gann_seq = ie.gann_seq;
2634 pgann.gann_interval = ie.gann_interval;
2636 IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_MESH, ie.gann_addr,
2891 struct ieee80211_meshlmetric_ie *ie = arg0;
2895 if (ie->lm_flags & IEEE80211_MESH_LMETRIC_FLAGS_REQ) {
2901 ie->lm_metric);
2923 ie->lm_flags, ie->lm_metric);
2939 struct ieee80211_meshgann_ie *ie = arg0;
2962 frm = ieee80211_add_meshgate(frm, ie);
3081 mesh_verify_meshid(struct ieee80211vap *vap, const uint8_t *ie)
3085 if (ie == NULL || ie[1] != ms->ms_idlen)
3087 return memcmp(ms->ms_id, ie + 2, ms->ms_idlen);
3094 mesh_verify_meshconf(struct ieee80211vap *vap, const uint8_t *ie)
3097 (const struct ieee80211_meshconf_ie *) ie;
3143 const uint8_t *ie)
3146 (const struct ieee80211_meshpeer_ie *) ie;
3334 ieee80211_add_meshgate(uint8_t *frm, struct ieee80211_meshgann_ie *ie)
3336 *frm++ = IEEE80211_ELEMID_MESHGANN; /* ie */
3338 *frm++ = ie->gann_flags;
3339 *frm++ = ie->gann_hopcount;
3340 *frm++ = ie->gann_ttl;
3341 IEEE80211_ADDR_COPY(frm, ie->gann_addr);
3343 ADDWORD(frm, ie->gann_seq);
3344 ADDSHORT(frm, ie->gann_interval);
3378 ieee80211_parse_meshid(struct ieee80211_node *ni, const uint8_t *ie)
3380 ni->ni_meshidlen = ie[1];
3381 memcpy(ni->ni_meshid, ie + 2, ie[1]);