usr.sbin/ndp/ndp.c
139
void ifinfo(int, char **);
usr.sbin/ndp/ndp.c
228
ifinfo(argc, argv);
usr.sbin/rtadvctl/rtadvctl.c
421
struct ifinfo *ifi;
usr.sbin/rtadvctl/rtadvctl.c
422
TAILQ_HEAD(, ifinfo) ifl = TAILQ_HEAD_INITIALIZER(ifl);
usr.sbin/rtadvctl/rtadvctl.c
473
struct ifinfo *ifi_s;
usr.sbin/rtadvctl/rtadvctl.c
486
ifi_s = (struct ifinfo *)cp.cp_val;
usr.sbin/rtadvd/config.c
1014
struct ifinfo *ifi;
usr.sbin/rtadvd/config.c
1114
struct ifinfo *ifi;
usr.sbin/rtadvd/config.c
1147
struct ifinfo *ifi;
usr.sbin/rtadvd/config.c
1169
struct ifinfo *ifi;
usr.sbin/rtadvd/config.c
1211
struct ifinfo *ifi;
usr.sbin/rtadvd/config.c
1320
struct ifinfo *ifi;
usr.sbin/rtadvd/config.c
151
struct ifinfo *ifi;
usr.sbin/rtadvd/config.c
191
struct ifinfo *ifi;
usr.sbin/rtadvd/config.c
204
rm_ifinfo(struct ifinfo *ifi)
usr.sbin/rtadvd/config.c
327
struct ifinfo *
usr.sbin/rtadvd/config.c
328
getconfig(struct ifinfo *ifi)
usr.sbin/rtadvd/config.h
33
extern struct ifinfo *getconfig(struct ifinfo *);
usr.sbin/rtadvd/config.h
34
extern int rm_ifinfo(struct ifinfo *);
usr.sbin/rtadvd/control_server.c
131
struct ifinfo *ifi;
usr.sbin/rtadvd/control_server.c
165
struct ifinfo *ifi;
usr.sbin/rtadvd/control_server.c
200
struct ifinfo *ifi;
usr.sbin/rtadvd/control_server.c
241
struct ifinfo *ifi;
usr.sbin/rtadvd/control_server.c
287
struct ifinfo *ifi;
usr.sbin/rtadvd/control_server.c
336
struct ifinfo *ifi;
usr.sbin/rtadvd/control_server.c
385
struct ifinfo *ifi;
usr.sbin/rtadvd/control_server.c
454
struct ifinfo *ifi;
usr.sbin/rtadvd/control_server.c
577
struct ifinfo *ifi;
usr.sbin/rtadvd/control_server.c
601
struct ifinfo *ifi;
usr.sbin/rtadvd/if.c
336
struct ifinfo *
usr.sbin/rtadvd/if.c
339
struct ifinfo *ifi;
usr.sbin/rtadvd/if.c
379
update_ifinfo_nd_flags(struct ifinfo *ifi)
usr.sbin/rtadvd/if.c
407
struct ifinfo *
usr.sbin/rtadvd/if.c
411
struct ifinfo *ifi = NULL;
usr.sbin/rtadvd/if.h
53
struct ifinfo *update_ifinfo(struct ifilist_head_t *, int);
usr.sbin/rtadvd/if.h
54
int update_ifinfo_nd_flags(struct ifinfo *);
usr.sbin/rtadvd/if.h
55
struct ifinfo *update_persist_ifinfo(struct ifilist_head_t *,
usr.sbin/rtadvd/rrenum.c
147
struct ifinfo *ifi;
usr.sbin/rtadvd/rrenum.c
260
struct ifinfo *ifi;
usr.sbin/rtadvd/rtadvd.c
1000
set_short_delay(struct ifinfo *ifi)
usr.sbin/rtadvd/rtadvd.c
1049
struct ifinfo *ifi;
usr.sbin/rtadvd/rtadvd.c
1078
struct ifinfo *ifi;
usr.sbin/rtadvd/rtadvd.c
1230
struct ifinfo *ifi;
usr.sbin/rtadvd/rtadvd.c
1627
struct ifinfo *
usr.sbin/rtadvd/rtadvd.c
1630
struct ifinfo *ifi;
usr.sbin/rtadvd/rtadvd.c
165
static void set_short_delay(struct ifinfo *);
usr.sbin/rtadvd/rtadvd.c
1653
ra_output(struct ifinfo *ifi)
usr.sbin/rtadvd/rtadvd.c
1847
struct ifinfo *ifi;
usr.sbin/rtadvd/rtadvd.c
1849
ifi = (struct ifinfo *)arg;
usr.sbin/rtadvd/rtadvd.c
1864
struct ifinfo *ifi;
usr.sbin/rtadvd/rtadvd.c
1866
ifi = (struct ifinfo *)arg;
usr.sbin/rtadvd/rtadvd.c
372
struct ifinfo *ifi;
usr.sbin/rtadvd/rtadvd.c
472
struct ifinfo *ifi;
usr.sbin/rtadvd/rtadvd.c
728
struct ifinfo *ifi;
usr.sbin/rtadvd/rtadvd.c
915
struct ifinfo *ifi;
usr.sbin/rtadvd/rtadvd.h
186
struct ifinfo *rai_ifinfo;
usr.sbin/rtadvd/rtadvd.h
255
TAILQ_ENTRY(ifinfo) ifi_next;
usr.sbin/rtadvd/rtadvd.h
284
extern TAILQ_HEAD(ifilist_head_t, ifinfo) ifilist;
usr.sbin/rtadvd/rtadvd.h
290
void ra_output(struct ifinfo *);
usr.sbin/rtadvd/rtadvd.h
294
struct ifinfo *if_indextoifinfo(int);
usr.sbin/rtadvd/timer.c
71
struct ifinfo *ifi;
usr.sbin/rtsold/dump.c
53
extern struct ifinfo *iflist;
usr.sbin/rtsold/dump.c
62
struct ifinfo *ifinfo;
usr.sbin/rtsold/dump.c
67
for (ifinfo = iflist; ifinfo; ifinfo = ifinfo->next) {
usr.sbin/rtsold/dump.c
68
fprintf(fp, "Interface %s\n", ifinfo->ifname);
usr.sbin/rtsold/dump.c
70
if (ifinfo->probeinterval) {
usr.sbin/rtsold/dump.c
71
fprintf(fp, "%d\n", ifinfo->probeinterval);
usr.sbin/rtsold/dump.c
72
fprintf(fp, " probe timer: %d\n", ifinfo->probetimer);
usr.sbin/rtsold/dump.c
79
ifinfo->active > 0 ? "active" : "inactive");
usr.sbin/rtsold/dump.c
80
fprintf(fp, " rtsold status: %s\n", ifstatstr[ifinfo->state]);
usr.sbin/rtsold/dump.c
82
ifinfo->mediareqok ? "available" : "unavailable");
usr.sbin/rtsold/dump.c
84
ifinfo->probes, ifinfo->dadcount);
usr.sbin/rtsold/dump.c
85
if (ifinfo->timer.tv_sec == tm_max.tv_sec &&
usr.sbin/rtsold/dump.c
86
ifinfo->timer.tv_usec == tm_max.tv_usec)
usr.sbin/rtsold/dump.c
90
(int)ifinfo->timer.tv_sec,
usr.sbin/rtsold/dump.c
91
(int)ifinfo->timer.tv_usec,
usr.sbin/rtsold/dump.c
92
(ifinfo->expire.tv_sec < now.tv_sec) ? "expired"
usr.sbin/rtsold/dump.c
93
: sec2str(ifinfo->expire.tv_sec - now.tv_sec));
usr.sbin/rtsold/dump.c
95
fprintf(fp, " number of valid RAs: %d\n", ifinfo->racnt);
usr.sbin/rtsold/if.c
144
interface_status(struct ifinfo *ifinfo)
usr.sbin/rtsold/if.c
146
char *ifname = ifinfo->ifname;
usr.sbin/rtsold/if.c
167
if (!ifinfo->mediareqok)
usr.sbin/rtsold/if.c
183
ifinfo->mediareqok = 0;
usr.sbin/rtsold/rtsock.c
134
struct ifinfo *ifinfo;
usr.sbin/rtsold/rtsock.c
154
ifinfo = find_ifinfo(ifan->ifan_index);
usr.sbin/rtsold/rtsock.c
155
if (ifinfo) {
usr.sbin/rtsold/rtsock.c
161
ifinfo->state = IFS_DOWN;
usr.sbin/rtsold/rtsol.c
184
sendpacket(struct ifinfo *ifinfo)
usr.sbin/rtsold/rtsol.c
191
sndmhdr.msg_iov[0].iov_base = (caddr_t)ifinfo->rs_data;
usr.sbin/rtsold/rtsol.c
192
sndmhdr.msg_iov[0].iov_len = ifinfo->rs_datalen;
usr.sbin/rtsold/rtsol.c
201
pi->ipi6_ifindex = ifinfo->sdl->sdl_index;
usr.sbin/rtsold/rtsol.c
216
ifinfo->ifname, ifinfo->state);
usr.sbin/rtsold/rtsol.c
220
if (i < 0 || (size_t)i != ifinfo->rs_datalen) {
usr.sbin/rtsold/rtsol.c
227
ifinfo->ifname, strerror(errno));
usr.sbin/rtsold/rtsol.c
231
ifinfo->probes++;
usr.sbin/rtsold/rtsol.c
243
struct ifinfo *ifi = NULL;
usr.sbin/rtsold/rtsold.c
285
struct ifinfo *ifi;
usr.sbin/rtsold/rtsold.c
322
struct ifinfo *ifinfo;
usr.sbin/rtsold/rtsold.c
338
if ((ifinfo = malloc(sizeof(*ifinfo))) == NULL) {
usr.sbin/rtsold/rtsold.c
343
memset(ifinfo, 0, sizeof(*ifinfo));
usr.sbin/rtsold/rtsold.c
344
ifinfo->sdl = sdl;
usr.sbin/rtsold/rtsold.c
346
strncpy(ifinfo->ifname, ifname, sizeof(ifinfo->ifname));
usr.sbin/rtsold/rtsold.c
349
if (make_packet(ifinfo))
usr.sbin/rtsold/rtsold.c
356
ifinfo->mediareqok = 1;
usr.sbin/rtsold/rtsold.c
357
ifinfo->active = interface_status(ifinfo);
usr.sbin/rtsold/rtsold.c
358
if (!ifinfo->mediareqok) {
usr.sbin/rtsold/rtsold.c
363
ifinfo->probeinterval = PROBE_INTERVAL;
usr.sbin/rtsold/rtsold.c
367
flags = interface_up(ifinfo->ifname);
usr.sbin/rtsold/rtsold.c
369
ifinfo->state = IFS_DELAY;
usr.sbin/rtsold/rtsold.c
371
ifinfo->state = IFS_TENTATIVE;
usr.sbin/rtsold/rtsold.c
373
ifinfo->state = IFS_DOWN;
usr.sbin/rtsold/rtsold.c
375
rtsol_timer_update(ifinfo);
usr.sbin/rtsold/rtsold.c
379
ifinfo->next = iflist;
usr.sbin/rtsold/rtsold.c
380
iflist = ifinfo;
usr.sbin/rtsold/rtsold.c
385
free(ifinfo->sdl);
usr.sbin/rtsold/rtsold.c
386
free(ifinfo);
usr.sbin/rtsold/rtsold.c
394
struct ifinfo *ifi, *prev;
usr.sbin/rtsold/rtsold.c
417
struct ifinfo *
usr.sbin/rtsold/rtsold.c
420
struct ifinfo *ifi;
usr.sbin/rtsold/rtsold.c
430
make_packet(struct ifinfo *ifinfo)
usr.sbin/rtsold/rtsold.c
436
if ((lladdroptlen = lladdropt_length(ifinfo->sdl)) == 0) {
usr.sbin/rtsold/rtsold.c
439
" on %s. Treat as not included.", ifinfo->ifname);
usr.sbin/rtsold/rtsold.c
442
ifinfo->rs_datalen = packlen;
usr.sbin/rtsold/rtsold.c
447
"memory allocation failed for %s", ifinfo->ifname);
usr.sbin/rtsold/rtsold.c
450
ifinfo->rs_data = buf;
usr.sbin/rtsold/rtsold.c
462
lladdropt_fill(ifinfo->sdl, (struct nd_opt_hdr *)buf);
usr.sbin/rtsold/rtsold.c
472
struct ifinfo *ifinfo;
usr.sbin/rtsold/rtsold.c
479
for (ifinfo = iflist; ifinfo; ifinfo = ifinfo->next) {
usr.sbin/rtsold/rtsold.c
480
if (TIMEVAL_LEQ(ifinfo->expire, now)) {
usr.sbin/rtsold/rtsold.c
484
"state = %d", ifinfo->ifname,
usr.sbin/rtsold/rtsold.c
485
ifinfo->state);
usr.sbin/rtsold/rtsold.c
487
switch (ifinfo->state) {
usr.sbin/rtsold/rtsold.c
491
flags = interface_up(ifinfo->ifname);
usr.sbin/rtsold/rtsold.c
493
ifinfo->state = IFS_DELAY;
usr.sbin/rtsold/rtsold.c
495
ifinfo->state = IFS_TENTATIVE;
usr.sbin/rtsold/rtsold.c
497
ifinfo->state = IFS_DOWN;
usr.sbin/rtsold/rtsold.c
501
int oldstatus = ifinfo->active;
usr.sbin/rtsold/rtsold.c
504
ifinfo->active =
usr.sbin/rtsold/rtsold.c
505
interface_status(ifinfo);
usr.sbin/rtsold/rtsold.c
507
if (oldstatus != ifinfo->active) {
usr.sbin/rtsold/rtsold.c
511
ifinfo->ifname,
usr.sbin/rtsold/rtsold.c
512
oldstatus, ifinfo->active);
usr.sbin/rtsold/rtsold.c
514
ifinfo->state = IFS_DELAY;
usr.sbin/rtsold/rtsold.c
516
else if (ifinfo->probeinterval &&
usr.sbin/rtsold/rtsold.c
517
(ifinfo->probetimer -=
usr.sbin/rtsold/rtsold.c
518
ifinfo->timer.tv_sec) <= 0) {
usr.sbin/rtsold/rtsold.c
520
ifinfo->probetimer =
usr.sbin/rtsold/rtsold.c
521
ifinfo->probeinterval;
usr.sbin/rtsold/rtsold.c
523
ifinfo->state = IFS_PROBE;
usr.sbin/rtsold/rtsold.c
527
defrouter_probe(ifinfo->sdl->sdl_index);
usr.sbin/rtsold/rtsold.c
531
ifinfo->state = IFS_PROBE;
usr.sbin/rtsold/rtsold.c
532
sendpacket(ifinfo);
usr.sbin/rtsold/rtsold.c
535
if (ifinfo->probes < MAX_RTR_SOLICITATIONS)
usr.sbin/rtsold/rtsold.c
536
sendpacket(ifinfo);
usr.sbin/rtsold/rtsold.c
541
ifinfo->probes);
usr.sbin/rtsold/rtsold.c
542
ifinfo->probes = 0;
usr.sbin/rtsold/rtsold.c
543
ifinfo->state = IFS_IDLE;
usr.sbin/rtsold/rtsold.c
547
rtsol_timer_update(ifinfo);
usr.sbin/rtsold/rtsold.c
550
if (TIMEVAL_LT(ifinfo->expire, rtsol_timer))
usr.sbin/rtsold/rtsold.c
551
rtsol_timer = ifinfo->expire;
usr.sbin/rtsold/rtsold.c
56
struct ifinfo *iflist;
usr.sbin/rtsold/rtsold.c
572
rtsol_timer_update(struct ifinfo *ifinfo)
usr.sbin/rtsold/rtsold.c
579
bzero(&ifinfo->timer, sizeof(ifinfo->timer));
usr.sbin/rtsold/rtsold.c
581
switch (ifinfo->state) {
usr.sbin/rtsold/rtsold.c
584
if (++ifinfo->dadcount > DADRETRY) {
usr.sbin/rtsold/rtsold.c
585
ifinfo->dadcount = 0;
usr.sbin/rtsold/rtsold.c
586
ifinfo->timer.tv_sec = PROBE_INTERVAL;
usr.sbin/rtsold/rtsold.c
589
ifinfo->timer.tv_sec = 1;
usr.sbin/rtsold/rtsold.c
594
ifinfo->timer.tv_sec = 3;
usr.sbin/rtsold/rtsold.c
597
ifinfo->timer = tm_max; /* stop timer(valid?) */
usr.sbin/rtsold/rtsold.c
605
ifinfo->timer.tv_sec = interval / MILLION;
usr.sbin/rtsold/rtsold.c
606
ifinfo->timer.tv_usec = interval % MILLION;
usr.sbin/rtsold/rtsold.c
609
if (ifinfo->probes < MAX_RTR_SOLICITATIONS)
usr.sbin/rtsold/rtsold.c
610
ifinfo->timer.tv_sec = RTR_SOLICITATION_INTERVAL;
usr.sbin/rtsold/rtsold.c
619
ifinfo->timer.tv_sec = MAX_RTR_SOLICITATION_DELAY;
usr.sbin/rtsold/rtsold.c
625
ifinfo->state, ifinfo->ifname);
usr.sbin/rtsold/rtsold.c
630
if (TIMEVAL_EQ(ifinfo->timer, tm_max)) {
usr.sbin/rtsold/rtsold.c
631
ifinfo->expire = tm_max;
usr.sbin/rtsold/rtsold.c
633
"stop timer for %s", ifinfo->ifname);
usr.sbin/rtsold/rtsold.c
637
TIMEVAL_ADD(&now, &ifinfo->timer, &ifinfo->expire);
usr.sbin/rtsold/rtsold.c
641
"set timer for %s to %d:%d", ifinfo->ifname,
usr.sbin/rtsold/rtsold.c
642
(int)ifinfo->timer.tv_sec,
usr.sbin/rtsold/rtsold.c
643
(int)ifinfo->timer.tv_usec);
usr.sbin/rtsold/rtsold.c
98
static int make_packet(struct ifinfo *ifinfo);
usr.sbin/rtsold/rtsold.h
36
struct ifinfo *next; /* pointer to the next interface */
usr.sbin/rtsold/rtsold.h
67
struct ifinfo *find_ifinfo(int ifindex);
usr.sbin/rtsold/rtsold.h
68
void rtsol_timer_update(struct ifinfo *ifinfo);
usr.sbin/rtsold/rtsold.h
75
extern int interface_status(struct ifinfo*);
usr.sbin/rtsold/rtsold.h
84
extern void sendpacket(struct ifinfo *ifinfo);