Home | History | Annotate | Download | only in agr

Lines Matching defs:ame

69 	struct agr_mc_entry *ame;
72 while ((ame = TAILQ_FIRST(&ama->ama_addrs)) != NULL) {
74 agrport_mc_del_callback, &ame->ame_ifr);
79 TAILQ_REMOVE(&ama->ama_addrs, ame, ame_q);
80 free(ame, M_DEVBUF);
100 struct agr_mc_entry *ame;
102 TAILQ_FOREACH(ame, &ama->ama_addrs, ame_q) {
103 if (!memcmp(&ame->ame_ifr.ifr_ss, sa, sa->sa_len))
104 return ame;
114 struct agr_mc_entry *ame;
117 TAILQ_FOREACH(ame, &ama->ama_addrs, ame_q) {
118 error = (*func)(ame, arg);
134 struct agr_mc_entry *ame;
136 ame = agr_mc_lookup(ama, sa);
137 if (ame) {
138 ame->ame_refcnt++;
142 ame = malloc(sizeof(*ame), M_DEVBUF, M_WAITOK | M_ZERO);
143 memcpy(&ame->ame_ifr.ifr_ss, sa, sa->sa_len);
144 ame->ame_refcnt = 1;
145 TAILQ_INSERT_TAIL(&ama->ama_addrs, ame, ame_q);
153 struct agr_mc_entry *ame;
155 ame = agr_mc_lookup(ama, sa);
156 if (ame == NULL)
159 ame->ame_refcnt--;
160 if (ame->ame_refcnt > 0)
163 TAILQ_REMOVE(&ama->ama_addrs, ame, ame_q);
164 free(ame, M_DEVBUF);
198 agrmc_mc_add_callback(struct agr_mc_entry *ame, void *arg)
201 return agrport_mc_add_callback(arg, &ame->ame_ifr);
205 agrmc_mc_del_callback(struct agr_mc_entry *ame, void *arg)
208 return agrport_mc_del_callback(arg, &ame->ame_ifr);