Home | History | Annotate | Download | only in net80211

Lines Matching defs:acl

41  * IEEE 802.11 MAC ACL support.
67 ACL_POLICY_OPEN = 0, /* open, don't check ACL's */
74 struct acl {
75 TAILQ_ENTRY(acl) acl_list;
76 LIST_ENTRY(acl) acl_hash;
83 TAILQ_HEAD(, acl) as_list; /* list of all ACL's */
84 LIST_HEAD(, acl) as_hash[ACL_HASHSIZE];
92 MALLOC_DEFINE(M_80211_ACL, "acl", "802.11 station acl");
103 ACL_LOCK_INIT(as, "acl");
122 static __inline struct acl *
125 struct acl *acl;
129 LIST_FOREACH(acl, &as->as_hash[hash], acl_hash) {
130 if (IEEE80211_ADDR_EQ(acl->acl_macaddr, macaddr))
131 return acl;
137 _acl_free(struct aclstate *as, struct acl *acl)
141 TAILQ_REMOVE(&as->as_list, acl, acl_list);
142 LIST_REMOVE(acl, acl_hash);
143 free(acl, M_80211_ACL);
167 struct acl *acl, *new;
170 new = malloc(sizeof(struct acl), M_80211_ACL, M_WAITOK | M_ZERO);
174 LIST_FOREACH(acl, &as->as_hash[hash], acl_hash) {
175 if (IEEE80211_ADDR_EQ(acl->acl_macaddr, mac)) {
179 "ACL: add %s failed, already present\n",
191 "ACL: add %s\n", ether_sprintf(mac));
199 struct acl *acl;
202 acl = _find_acl(as, mac);
203 if (acl != NULL)
204 _acl_free(as, acl);
208 "ACL: remove %s%s\n", ether_sprintf(mac),
209 acl == NULL ? ", not present" : "");
211 return (acl == NULL ? ENOENT : 0);
218 struct acl *acl;
220 IEEE80211_DPRINTF(ic, IEEE80211_MSG_ACL, "ACL: %s\n", "free all");
223 while ((acl = TAILQ_FIRST(&as->as_list)) != NULL)
224 _acl_free(as, acl);
236 "ACL: set policy to %u\n", policy);
274 struct acl *acl;
292 TAILQ_FOREACH(acl, &as->as_list, acl_list) {
293 IEEE80211_ADDR_COPY(ap[i].ml_macaddr, acl->acl_macaddr);