Lines Matching defs:engine_iface

48 struct engine_iface {
49 TAILQ_ENTRY(engine_iface) entry;
56 TAILQ_HEAD(, engine_iface) engine_interfaces;
68 struct engine_iface *find_engine_iface_by_id(uint32_t);
493 struct engine_iface *engine_iface;
505 if ((engine_iface = find_engine_iface_by_id(rs->if_index)) == NULL)
569 if (engine_iface->ras_delayed)
572 engine_iface->ras_delayed = 1;
574 timespecsub(&now, &engine_iface->last_ra, &diff);
582 evtimer_add(&engine_iface->timer, &tv);
586 struct engine_iface*
589 struct engine_iface *engine_iface;
591 TAILQ_FOREACH(engine_iface, &engine_interfaces, entry) {
592 if (engine_iface->if_index == if_index)
593 return engine_iface;
601 struct engine_iface *engine_iface;
604 if ((engine_iface = find_engine_iface_by_id(if_index)) == NULL) {
605 engine_iface = calloc(1, sizeof(*engine_iface));
606 engine_iface->if_index = if_index;
607 evtimer_set(&engine_iface->timer, iface_timeout, engine_iface);
608 TAILQ_INSERT_TAIL(&engine_interfaces, engine_iface, entry);
613 evtimer_add(&engine_iface->timer, &tv);
619 struct engine_iface *engine_iface;
623 if ((engine_iface = find_engine_iface_by_id(if_index)) == NULL) {
630 send_ra.if_index = engine_iface->if_index;
633 TAILQ_REMOVE(&engine_interfaces, engine_iface, entry);
634 evtimer_del(&engine_iface->timer);
640 &engine_iface->if_index, sizeof(engine_iface->if_index));
641 free(engine_iface);
647 struct engine_iface *engine_iface = (struct engine_iface *)arg;
657 evtimer_add(&engine_iface->timer, &tv);
659 send_ra.if_index = engine_iface->if_index;
663 clock_gettime(CLOCK_MONOTONIC, &engine_iface->last_ra);
664 engine_iface->ras_delayed = 0;