Lines Matching defs:perr

407 	struct ieee80211_meshperr_ie *perr;
515 perr = IEEE80211_MALLOC(sizeof(*perr) +
516 (ndest - 1) * sizeof(*perr->perr_dests),
519 KASSERT(perr != NULL, ("perr == NULL"));
521 perr->perr_ie = *iefrm_t++;
522 perr->perr_len = *iefrm_t++;
523 perr->perr_ttl = *iefrm_t++;
524 perr->perr_ndests = *iefrm_t++;
526 for (i = 0; i<perr->perr_ndests; i++) {
527 perr->perr_dests[i].dest_flags = *iefrm_t++;
529 perr->perr_dests[i].dest_addr, iefrm_t);
531 perr->perr_dests[i].dest_seq = le32dec(iefrm_t);
534 if (perr->perr_dests[i].dest_flags &
537 perr->perr_dests[i].dest_ext_addr,
541 perr->perr_dests[i].dest_rcode =
546 hwmp_recv_perr(vap, ni, wh, perr);
547 IEEE80211_FREE(perr, M_80211_MESH_PERR);
752 #define PERR_DFLAGS(n) perr->perr_dests[n].dest_flags
753 #define PERR_DADDR(n) perr->perr_dests[n].dest_addr
754 #define PERR_DSEQ(n) perr->perr_dests[n].dest_seq
755 #define PERR_EXTADDR(n) perr->perr_dests[n].dest_ext_addr
756 #define PERR_DRCODE(n) perr->perr_dests[n].dest_rcode
758 hwmp_add_meshperr(uint8_t *frm, const struct ieee80211_meshperr_ie *perr)
763 *frm++ = perr->perr_len; /* len already calculated */
764 *frm++ = perr->perr_ttl;
765 *frm++ = perr->perr_ndests;
766 for (i = 0; i < perr->perr_ndests; i++) {
1498 #define PERR_DFLAGS(n) perr.perr_dests[n].dest_flags
1499 #define PERR_DADDR(n) perr.perr_dests[n].dest_addr
1500 #define PERR_DSEQ(n) perr.perr_dests[n].dest_seq
1501 #define PERR_DRCODE(n) perr.perr_dests[n].dest_rcode
1507 struct ieee80211_meshperr_ie perr;
1517 perr.perr_ttl = ms->ms_ttl;
1518 perr.perr_ndests = 1;
1528 hwmp_send_perr(vap, broadcastaddr, &perr);
1535 #define PERR_DFLAGS(n) perr->perr_dests[n].dest_flags
1536 #define PERR_DADDR(n) perr->perr_dests[n].dest_addr
1537 #define PERR_DSEQ(n) perr->perr_dests[n].dest_seq
1538 #define PERR_DEXTADDR(n) perr->perr_dests[n].dest_ext_addr
1541 const struct ieee80211_frame *wh, const struct ieee80211_meshperr_ie *perr)
1558 pperr = IEEE80211_MALLOC(sizeof(*perr) + 31*sizeof(*perr->perr_dests),
1567 for (i = 0; i < perr->perr_ndests; i++) {
1576 memcpy(&pperr->perr_dests[j], &perr->perr_dests[i],
1577 sizeof(*perr->perr_dests));
1625 if (forward && perr->perr_ttl > 1) {
1644 struct ieee80211_meshperr_ie *perr)
1658 * mesh perr action frame format
1666 perr->perr_ie = IEEE80211_ELEMID_MESHPERR;
1668 for (i = 0; i<perr->perr_ndests; i++) {
1669 if (perr->perr_dests[i].dest_flags &
1676 perr->perr_len =length;
1677 return hwmp_send_action(vap, da, (uint8_t *)perr, perr->perr_len+2);
1685 #define PERR_DFLAGS(n) perr.perr_dests[n].dest_flags
1686 #define PERR_DADDR(n) perr.perr_dests[n].dest_addr
1687 #define PERR_DSEQ(n) perr.perr_dests[n].dest_seq
1688 #define PERR_DEXTADDR(n) perr.perr_dests[n].dest_ext_addr
1689 #define PERR_DRCODE(n) perr.perr_dests[n].dest_rcode
1697 struct ieee80211_meshperr_ie perr;
1703 perr.perr_ndests = 1;
1704 perr.perr_ttl = ms->ms_ttl;
1730 hwmp_send_perr(vap, broadcastaddr, &perr);