libexec/spamd/sync.c
117
sync_init(const char *iface, const char *baddr, u_short port)
libexec/spamd/sync.c
128
if (iface != NULL)
libexec/spamd/sync.c
135
if (iface == NULL)
libexec/spamd/sync.c
136
iface = baddr;
libexec/spamd/sync.c
137
else if (iface != NULL && strcmp(baddr, iface) != 0) {
libexec/spamd/sync.c
168
if (baddr == NULL && iface == NULL)
libexec/spamd/sync.c
177
if (iface == NULL)
libexec/spamd/sync.c
180
strlcpy(ifnam, iface, sizeof(ifnam));
sbin/dhcp6leased/engine.c
1062
state_transition(struct dhcp6leased_iface *iface, enum if_state new_state)
sbin/dhcp6leased/engine.c
1064
enum if_state old_state = iface->state;
sbin/dhcp6leased/engine.c
1067
iface->state = new_state;
sbin/dhcp6leased/engine.c
1076
deprecate_interfaces(iface);
sbin/dhcp6leased/engine.c
1085
iface->timo.tv_sec = -1;
sbin/dhcp6leased/engine.c
1090
if (iface->timo.tv_sec < MAX_EXP_BACKOFF_SLOW)
sbin/dhcp6leased/engine.c
1091
iface->timo.tv_sec *= 2;
sbin/dhcp6leased/engine.c
1098
deconfigure_interfaces(iface);
sbin/dhcp6leased/engine.c
1101
iface->timo.tv_sec = START_EXP_BACKOFF;
sbin/dhcp6leased/engine.c
1103
&iface->elapsed_time_start);
sbin/dhcp6leased/engine.c
1109
request_dhcp_discover(iface);
sbin/dhcp6leased/engine.c
1113
iface->timo.tv_sec *= 2;
sbin/dhcp6leased/engine.c
1115
iface->timo.tv_sec = START_EXP_BACKOFF;
sbin/dhcp6leased/engine.c
1116
arc4random_buf(iface->xid, sizeof(iface->xid));
sbin/dhcp6leased/engine.c
1118
request_dhcp_request(iface);
sbin/dhcp6leased/engine.c
1122
iface->timo.tv_sec *= 2;
sbin/dhcp6leased/engine.c
1124
iface->timo.tv_sec = START_EXP_BACKOFF;
sbin/dhcp6leased/engine.c
1126
&iface->elapsed_time_start);
sbin/dhcp6leased/engine.c
1128
request_dhcp_request(iface);
sbin/dhcp6leased/engine.c
1131
iface->timo.tv_sec = iface->t1;
sbin/dhcp6leased/engine.c
1137
configure_interfaces(iface);
sbin/dhcp6leased/engine.c
1141
configure_interfaces(iface);
sbin/dhcp6leased/engine.c
1151
iface->timo.tv_sec = (iface->t2 -
sbin/dhcp6leased/engine.c
1152
iface->t1) / 2; /* RFC 2131 4.4.5 */
sbin/dhcp6leased/engine.c
1153
arc4random_buf(iface->xid, sizeof(iface->xid));
sbin/dhcp6leased/engine.c
1155
iface->timo.tv_sec /= 2;
sbin/dhcp6leased/engine.c
1157
if (iface->timo.tv_sec < 60)
sbin/dhcp6leased/engine.c
1158
iface->timo.tv_sec = 60;
sbin/dhcp6leased/engine.c
1159
request_dhcp_request(iface);
sbin/dhcp6leased/engine.c
1163
iface->timo.tv_sec = (iface->lease_time -
sbin/dhcp6leased/engine.c
1164
iface->t2) / 2; /* RFC 2131 4.4.5 */
sbin/dhcp6leased/engine.c
1166
iface->timo.tv_sec /= 2;
sbin/dhcp6leased/engine.c
1167
request_dhcp_request(iface);
sbin/dhcp6leased/engine.c
1171
if_name = if_indextoname(iface->if_index, ifnamebuf);
sbin/dhcp6leased/engine.c
1174
iface->timo.tv_sec);
sbin/dhcp6leased/engine.c
1176
if (iface->timo.tv_sec == -1) {
sbin/dhcp6leased/engine.c
1177
if (evtimer_pending(&iface->timer, NULL))
sbin/dhcp6leased/engine.c
1178
evtimer_del(&iface->timer);
sbin/dhcp6leased/engine.c
1180
evtimer_add(&iface->timer, &iface->timo);
sbin/dhcp6leased/engine.c
1186
struct dhcp6leased_iface *iface = (struct dhcp6leased_iface *)arg;
sbin/dhcp6leased/engine.c
1189
log_debug("%s[%d]: %s", __func__, iface->if_index,
sbin/dhcp6leased/engine.c
1190
if_state_name[iface->state]);
sbin/dhcp6leased/engine.c
1192
switch (iface->state) {
sbin/dhcp6leased/engine.c
1194
state_transition(iface, IF_DOWN);
sbin/dhcp6leased/engine.c
1197
state_transition(iface, IF_INIT);
sbin/dhcp6leased/engine.c
1200
if (iface->timo.tv_sec >= MAX_EXP_BACKOFF_FAST)
sbin/dhcp6leased/engine.c
1201
state_transition(iface, IF_INIT);
sbin/dhcp6leased/engine.c
1203
state_transition(iface, IF_REBOOTING);
sbin/dhcp6leased/engine.c
1206
if (iface->timo.tv_sec >= MAX_EXP_BACKOFF_SLOW)
sbin/dhcp6leased/engine.c
1207
state_transition(iface, IF_INIT);
sbin/dhcp6leased/engine.c
1209
state_transition(iface, IF_REQUESTING);
sbin/dhcp6leased/engine.c
1212
state_transition(iface, IF_RENEWING);
sbin/dhcp6leased/engine.c
1216
timespecsub(&now, &iface->request_time, &res);
sbin/dhcp6leased/engine.c
1218
res.tv_sec, iface->t2);
sbin/dhcp6leased/engine.c
1219
if (res.tv_sec >= iface->t2)
sbin/dhcp6leased/engine.c
1220
state_transition(iface, IF_REBINDING);
sbin/dhcp6leased/engine.c
1222
state_transition(iface, IF_RENEWING);
sbin/dhcp6leased/engine.c
1226
timespecsub(&now, &iface->request_time, &res);
sbin/dhcp6leased/engine.c
1228
res.tv_sec, iface->lease_time);
sbin/dhcp6leased/engine.c
1229
if (res.tv_sec > iface->lease_time)
sbin/dhcp6leased/engine.c
1230
state_transition(iface, IF_INIT);
sbin/dhcp6leased/engine.c
1232
state_transition(iface, IF_REBINDING);
sbin/dhcp6leased/engine.c
1239
request_dhcp_discover(struct dhcp6leased_iface *iface)
sbin/dhcp6leased/engine.c
1245
imsg.if_index = iface->if_index;
sbin/dhcp6leased/engine.c
1246
memcpy(imsg.xid, iface->xid, sizeof(imsg.xid));
sbin/dhcp6leased/engine.c
1248
timespecsub(&now, &iface->elapsed_time_start, &res);
sbin/dhcp6leased/engine.c
1257
request_dhcp_request(struct dhcp6leased_iface *iface)
sbin/dhcp6leased/engine.c
1263
imsg.if_index = iface->if_index;
sbin/dhcp6leased/engine.c
1264
memcpy(imsg.xid, iface->xid, sizeof(imsg.xid));
sbin/dhcp6leased/engine.c
1267
timespecsub(&now, &iface->elapsed_time_start, &res);
sbin/dhcp6leased/engine.c
1273
switch (iface->state) {
sbin/dhcp6leased/engine.c
1287
imsg.serverid_len = iface->serverid_len;
sbin/dhcp6leased/engine.c
1288
memcpy(imsg.serverid, iface->serverid, SERVERID_SIZE);
sbin/dhcp6leased/engine.c
1289
memcpy(imsg.pds, iface->pds, sizeof(iface->pds));
sbin/dhcp6leased/engine.c
1292
switch (iface->state) {
sbin/dhcp6leased/engine.c
1312
configure_interfaces(struct dhcp6leased_iface *iface)
sbin/dhcp6leased/engine.c
1322
if ((if_name = if_indextoname(iface->if_index, ifnamebuf)) == NULL) {
sbin/dhcp6leased/engine.c
1324
iface->if_index);
sbin/dhcp6leased/engine.c
1330
iface->if_index);
sbin/dhcp6leased/engine.c
1335
struct prefix *pd = &iface->new_pds[i];
sbin/dhcp6leased/engine.c
1340
dhcp_duid2str(iface->serverid_len, iface->serverid));
sbin/dhcp6leased/engine.c
1342
send_reconfigure_reject_route(iface, &pd->prefix,
sbin/dhcp6leased/engine.c
1347
struct prefix *pd = &iface->new_pds[ia_conf->id];
sbin/dhcp6leased/engine.c
1354
if (prefixcmp(iface->pds, iface->new_pds, iface_conf->ia_count) != 0) {
sbin/dhcp6leased/engine.c
1356
if_name, dhcp_duid2str(iface->serverid_len,
sbin/dhcp6leased/engine.c
1357
iface->serverid));
sbin/dhcp6leased/engine.c
1360
inet_ntop(AF_INET6, &iface->pds[i].prefix, ntopbuf,
sbin/dhcp6leased/engine.c
1361
INET6_ADDRSTRLEN), iface->pds[i].prefix_len);
sbin/dhcp6leased/engine.c
1363
inet_ntop(AF_INET6, &iface->new_pds[i].prefix,
sbin/dhcp6leased/engine.c
1365
iface->new_pds[i].prefix_len);
sbin/dhcp6leased/engine.c
1367
deconfigure_interfaces(iface);
sbin/dhcp6leased/engine.c
1370
memcpy(iface->pds, iface->new_pds, sizeof(iface->pds));
sbin/dhcp6leased/engine.c
1371
memset(iface->new_pds, 0, sizeof(iface->new_pds));
sbin/dhcp6leased/engine.c
1374
imsg_lease_info.if_index = iface->if_index;
sbin/dhcp6leased/engine.c
1375
memcpy(imsg_lease_info.pds, iface->pds, sizeof(iface->pds));
sbin/dhcp6leased/engine.c
1381
deconfigure_interfaces(struct dhcp6leased_iface *iface)
sbin/dhcp6leased/engine.c
1391
if ((if_name = if_indextoname(iface->if_index, ifnamebuf)) == NULL) {
sbin/dhcp6leased/engine.c
1393
iface->if_index);
sbin/dhcp6leased/engine.c
1399
iface->if_index);
sbin/dhcp6leased/engine.c
1404
struct prefix *pd = &iface->pds[i];
sbin/dhcp6leased/engine.c
1409
dhcp_duid2str(iface->serverid_len, iface->serverid));
sbin/dhcp6leased/engine.c
1410
send_reconfigure_reject_route(iface, &pd->prefix,
sbin/dhcp6leased/engine.c
1415
struct prefix *pd = &iface->pds[ia_conf->id];
sbin/dhcp6leased/engine.c
1421
memset(iface->pds, 0, sizeof(iface->pds));
sbin/dhcp6leased/engine.c
1425
deprecate_interfaces(struct dhcp6leased_iface *iface)
sbin/dhcp6leased/engine.c
1436
if ((if_name = if_indextoname(iface->if_index, ifnamebuf)) == NULL) {
sbin/dhcp6leased/engine.c
1438
iface->if_index);
sbin/dhcp6leased/engine.c
1444
iface->if_index);
sbin/dhcp6leased/engine.c
1449
struct prefix *pd = &iface->pds[i];
sbin/dhcp6leased/engine.c
1454
dhcp_duid2str(iface->serverid_len, iface->serverid));
sbin/dhcp6leased/engine.c
1458
timespecsub(&now, &iface->request_time, &diff);
sbin/dhcp6leased/engine.c
1461
struct prefix *pd = &iface->pds[ia_conf->id];
sbin/dhcp6leased/engine.c
1542
send_reconfigure_reject_route(struct dhcp6leased_iface *iface,
sbin/dhcp6leased/engine.c
1549
imsg.if_index = iface->if_index;
sbin/dhcp6leased/engine.c
1550
imsg.rdomain = iface->rdomain;
sbin/dhcp6leased/engine.c
278
struct dhcp6leased_iface *iface;
sbin/dhcp6leased/engine.c
327
iface = get_dhcp6leased_iface_by_id(if_index);
sbin/dhcp6leased/engine.c
328
if (iface != NULL) {
sbin/dhcp6leased/engine.c
329
switch (iface->state) {
sbin/dhcp6leased/engine.c
334
state_transition(iface, iface->state);
sbin/dhcp6leased/engine.c
340
state_transition(iface, IF_REBOOTING);
sbin/dhcp6leased/engine.c
358
iface = get_dhcp6leased_iface_by_id(imsg_dhcp.if_index);
sbin/dhcp6leased/engine.c
359
if (iface != NULL)
sbin/dhcp6leased/engine.c
360
parse_dhcp(iface, &imsg_dhcp);
sbin/dhcp6leased/engine.c
538
struct dhcp6leased_iface *iface;
sbin/dhcp6leased/engine.c
553
iface = get_dhcp6leased_iface_by_id(if_index);
sbin/dhcp6leased/engine.c
554
if (if_name == NULL || iface == NULL)
sbin/dhcp6leased/engine.c
581
send_interface_info(struct dhcp6leased_iface *iface, pid_t pid)
sbin/dhcp6leased/engine.c
586
cei.if_index = iface->if_index;
sbin/dhcp6leased/engine.c
587
cei.running = iface->running;
sbin/dhcp6leased/engine.c
588
cei.link_state = iface->link_state;
sbin/dhcp6leased/engine.c
589
strlcpy(cei.state, if_state_name[iface->state], sizeof(cei.state));
sbin/dhcp6leased/engine.c
590
memcpy(&cei.request_time, &iface->request_time,
sbin/dhcp6leased/engine.c
592
cei.lease_time = iface->lease_time;
sbin/dhcp6leased/engine.c
593
cei.t1 = iface->t1;
sbin/dhcp6leased/engine.c
594
cei.t2 = iface->t2;
sbin/dhcp6leased/engine.c
595
memcpy(&cei.pds, &iface->pds, sizeof(cei.pds));
sbin/dhcp6leased/engine.c
603
struct dhcp6leased_iface *iface;
sbin/dhcp6leased/engine.c
607
if ((iface = get_dhcp6leased_iface_by_id(if_index)) != NULL)
sbin/dhcp6leased/engine.c
608
send_interface_info(iface, imsg->hdr.pid);
sbin/dhcp6leased/engine.c
622
struct dhcp6leased_iface *iface;
sbin/dhcp6leased/engine.c
627
iface = get_dhcp6leased_iface_by_id(imsg_ifinfo->if_index);
sbin/dhcp6leased/engine.c
629
if (iface == NULL) {
sbin/dhcp6leased/engine.c
630
if ((iface = calloc(1, sizeof(*iface))) == NULL)
sbin/dhcp6leased/engine.c
632
iface->state = IF_DOWN;
sbin/dhcp6leased/engine.c
633
arc4random_buf(iface->xid, sizeof(iface->xid));
sbin/dhcp6leased/engine.c
634
iface->timo.tv_usec = arc4random_uniform(1000000);
sbin/dhcp6leased/engine.c
635
evtimer_set(&iface->timer, iface_timeout, iface);
sbin/dhcp6leased/engine.c
636
iface->if_index = imsg_ifinfo->if_index;
sbin/dhcp6leased/engine.c
637
iface->rdomain = imsg_ifinfo->rdomain;
sbin/dhcp6leased/engine.c
638
iface->running = imsg_ifinfo->running;
sbin/dhcp6leased/engine.c
639
iface->link_state = imsg_ifinfo->link_state;
sbin/dhcp6leased/engine.c
640
LIST_INSERT_HEAD(&dhcp6leased_interfaces, iface, entries);
sbin/dhcp6leased/engine.c
643
if (imsg_ifinfo->rdomain != iface->rdomain) {
sbin/dhcp6leased/engine.c
644
iface->rdomain = imsg_ifinfo->rdomain;
sbin/dhcp6leased/engine.c
647
if (imsg_ifinfo->running != iface->running) {
sbin/dhcp6leased/engine.c
648
iface->running = imsg_ifinfo->running;
sbin/dhcp6leased/engine.c
652
if (imsg_ifinfo->link_state != iface->link_state) {
sbin/dhcp6leased/engine.c
653
iface->link_state = imsg_ifinfo->link_state;
sbin/dhcp6leased/engine.c
661
if ((if_name = if_indextoname(iface->if_index, ifnamebuf)) == NULL) {
sbin/dhcp6leased/engine.c
663
iface->if_index);
sbin/dhcp6leased/engine.c
670
iface->if_index);
sbin/dhcp6leased/engine.c
674
if (iface->running && LINK_STATE_IS_UP(iface->link_state)) {
sbin/dhcp6leased/engine.c
678
if (iface->pds[0].prefix_len == 0)
sbin/dhcp6leased/engine.c
679
memcpy(iface->pds, imsg_ifinfo->pds,
sbin/dhcp6leased/engine.c
680
sizeof(iface->pds));
sbin/dhcp6leased/engine.c
684
if (iface->pds[i].prefix_len > 0) {
sbin/dhcp6leased/engine.c
690
state_transition(iface, IF_REBOOTING);
sbin/dhcp6leased/engine.c
692
state_transition(iface, IF_INIT);
sbin/dhcp6leased/engine.c
694
state_transition(iface, IF_DOWN);
sbin/dhcp6leased/engine.c
699
struct dhcp6leased_iface *iface;
sbin/dhcp6leased/engine.c
700
LIST_FOREACH (iface, &dhcp6leased_interfaces, entries) {
sbin/dhcp6leased/engine.c
701
if (iface->if_index == if_index)
sbin/dhcp6leased/engine.c
702
return (iface);
sbin/dhcp6leased/engine.c
711
struct dhcp6leased_iface *iface;
sbin/dhcp6leased/engine.c
713
iface = get_dhcp6leased_iface_by_id(if_index);
sbin/dhcp6leased/engine.c
715
if (iface == NULL)
sbin/dhcp6leased/engine.c
718
deconfigure_interfaces(iface);
sbin/dhcp6leased/engine.c
719
LIST_REMOVE(iface, entries);
sbin/dhcp6leased/engine.c
720
evtimer_del(&iface->timer);
sbin/dhcp6leased/engine.c
721
free(iface);
sbin/dhcp6leased/engine.c
725
parse_dhcp(struct dhcp6leased_iface *iface, struct imsg_dhcp *dhcp)
sbin/dhcp6leased/engine.c
740
if ((if_name = if_indextoname(iface->if_index, ifnamebuf)) == NULL) {
sbin/dhcp6leased/engine.c
742
iface->if_index);
sbin/dhcp6leased/engine.c
748
iface->if_index);
sbin/dhcp6leased/engine.c
756
memset(iface->new_pds, 0, sizeof(iface->new_pds));
sbin/dhcp6leased/engine.c
841
&iface->new_pds[ntohl(iapd.iaid)]);
sbin/dhcp6leased/engine.c
844
iface->state == IF_RENEWING) {
sbin/dhcp6leased/engine.c
845
state_transition(iface, IF_REBINDING);
sbin/dhcp6leased/engine.c
875
struct prefix *pd = &iface->new_pds[ia_conf->id];
sbin/dhcp6leased/engine.c
915
if (iface->state != IF_INIT) {
sbin/dhcp6leased/engine.c
920
iface->serverid_len = serverid_len;
sbin/dhcp6leased/engine.c
921
memcpy(iface->serverid, serverid, SERVERID_SIZE);
sbin/dhcp6leased/engine.c
922
memcpy(iface->pds, iface->new_pds, sizeof(iface->pds));
sbin/dhcp6leased/engine.c
923
state_transition(iface, IF_REQUESTING);
sbin/dhcp6leased/engine.c
926
switch (iface->state) {
sbin/dhcp6leased/engine.c
941
iface->serverid_len = serverid_len;
sbin/dhcp6leased/engine.c
942
memcpy(iface->serverid, serverid, SERVERID_SIZE);
sbin/dhcp6leased/engine.c
945
iface->t1 = lease_time / 2;
sbin/dhcp6leased/engine.c
947
iface->t1 = t1;
sbin/dhcp6leased/engine.c
949
iface->t2 = lease_time - (lease_time / 8);
sbin/dhcp6leased/engine.c
951
iface->t2 = t2;
sbin/dhcp6leased/engine.c
952
iface->lease_time = lease_time;
sbin/dhcp6leased/engine.c
953
clock_gettime(CLOCK_MONOTONIC, &iface->request_time);
sbin/dhcp6leased/engine.c
954
state_transition(iface, IF_BOUND);
sbin/dhcp6leased/frontend.c
1003
event_set(&iface->udpev, udpsock, EV_READ |
sbin/dhcp6leased/frontend.c
1004
EV_PERSIST, udp_receive, iface);
sbin/dhcp6leased/frontend.c
1005
event_add(&iface->udpev, NULL);
sbin/dhcp6leased/frontend.c
1006
if (iface->send_solicit)
sbin/dhcp6leased/frontend.c
1007
send_packet(DHCPSOLICIT, iface);
sbin/dhcp6leased/frontend.c
460
struct iface *iface;
sbin/dhcp6leased/frontend.c
502
iface = get_iface_by_id(imsg_req_dhcp.if_index);
sbin/dhcp6leased/frontend.c
504
if (iface == NULL)
sbin/dhcp6leased/frontend.c
507
iface_data_from_imsg(iface, &imsg_req_dhcp);
sbin/dhcp6leased/frontend.c
510
send_packet(DHCPSOLICIT, iface);
sbin/dhcp6leased/frontend.c
513
send_packet(DHCPREQUEST, iface);
sbin/dhcp6leased/frontend.c
516
send_packet(DHCPRENEW, iface);
sbin/dhcp6leased/frontend.c
519
send_packet(DHCPREBIND, iface);
sbin/dhcp6leased/frontend.c
557
struct iface *iface;
sbin/dhcp6leased/frontend.c
59
LIST_ENTRY(iface) entries;
sbin/dhcp6leased/frontend.c
601
iface = get_iface_by_id(if_index);
sbin/dhcp6leased/frontend.c
602
if (iface == NULL) {
sbin/dhcp6leased/frontend.c
603
if ((iface = calloc(1, sizeof(*iface))) == NULL)
sbin/dhcp6leased/frontend.c
605
memcpy(&iface->ifinfo, &ifinfo, sizeof(iface->ifinfo));
sbin/dhcp6leased/frontend.c
606
LIST_INSERT_HEAD(&interfaces, iface, entries);
sbin/dhcp6leased/frontend.c
611
memcpy(&iface->ifinfo, &ifinfo, sizeof(iface->ifinfo));
sbin/dhcp6leased/frontend.c
613
frontend_imsg_compose_main(IMSG_UPDATE_IF, 0, &iface->ifinfo,
sbin/dhcp6leased/frontend.c
614
sizeof(iface->ifinfo));
sbin/dhcp6leased/frontend.c
714
struct iface *iface;
sbin/dhcp6leased/frontend.c
717
iface = (struct iface *)arg;
sbin/dhcp6leased/frontend.c
728
imsg_dhcp.if_index = iface->ifinfo.if_index;
sbin/dhcp6leased/frontend.c
735
iface_data_from_imsg(struct iface* iface, struct imsg_req_dhcp *imsg)
sbin/dhcp6leased/frontend.c
737
memcpy(iface->xid, imsg->xid, sizeof(iface->xid));
sbin/dhcp6leased/frontend.c
738
iface->elapsed_time = imsg->elapsed_time;
sbin/dhcp6leased/frontend.c
739
iface->serverid_len = imsg->serverid_len;
sbin/dhcp6leased/frontend.c
740
memcpy(iface->serverid, imsg->serverid, SERVERID_SIZE);
sbin/dhcp6leased/frontend.c
741
memcpy(iface->pds, imsg->pds, sizeof(iface->pds));
sbin/dhcp6leased/frontend.c
745
build_packet(uint8_t message_type, struct iface *iface, char *if_name)
sbin/dhcp6leased/frontend.c
778
memcpy(hdr.xid, iface->xid, sizeof(hdr.xid));
sbin/dhcp6leased/frontend.c
79
struct iface *get_iface_by_id(uint32_t);
sbin/dhcp6leased/frontend.c
796
opt_hdr.len = htons(iface->serverid_len);
sbin/dhcp6leased/frontend.c
799
memcpy(p, iface->serverid, iface->serverid_len);
sbin/dhcp6leased/frontend.c
80
struct iface *get_iface_by_name(const char *);
sbin/dhcp6leased/frontend.c
800
p += iface->serverid_len;
sbin/dhcp6leased/frontend.c
83
void iface_data_from_imsg(struct iface*, struct imsg_req_dhcp *);
sbin/dhcp6leased/frontend.c
835
pd = &iface->pds[ia_conf->id];
sbin/dhcp6leased/frontend.c
84
ssize_t build_packet(uint8_t, struct iface *, char *);
sbin/dhcp6leased/frontend.c
85
void send_packet(uint8_t, struct iface *);
sbin/dhcp6leased/frontend.c
865
elapsed_time = htons(iface->elapsed_time);
sbin/dhcp6leased/frontend.c
88
LIST_HEAD(, iface) interfaces;
sbin/dhcp6leased/frontend.c
894
send_packet(uint8_t message_type, struct iface *iface)
sbin/dhcp6leased/frontend.c
899
if (!event_initialized(&iface->udpev)) {
sbin/dhcp6leased/frontend.c
900
iface->send_solicit = 1;
sbin/dhcp6leased/frontend.c
904
iface->send_solicit = 0;
sbin/dhcp6leased/frontend.c
906
if ((if_name = if_indextoname(iface->ifinfo.if_index, ifnamebuf))
sbin/dhcp6leased/frontend.c
931
pkt_len = build_packet(message_type, iface, if_name);
sbin/dhcp6leased/frontend.c
933
dst.sin6_scope_id = iface->ifinfo.if_index;
sbin/dhcp6leased/frontend.c
935
if (sendto(EVENT_FD(&iface->udpev), dhcp_packet, pkt_len, 0,
sbin/dhcp6leased/frontend.c
940
struct iface*
sbin/dhcp6leased/frontend.c
943
struct iface *iface;
sbin/dhcp6leased/frontend.c
945
LIST_FOREACH (iface, &interfaces, entries) {
sbin/dhcp6leased/frontend.c
946
if (iface->ifinfo.if_index == if_index)
sbin/dhcp6leased/frontend.c
947
return (iface);
sbin/dhcp6leased/frontend.c
953
struct iface*
sbin/dhcp6leased/frontend.c
966
struct iface *iface;
sbin/dhcp6leased/frontend.c
968
iface = get_iface_by_id(if_index);
sbin/dhcp6leased/frontend.c
970
if (iface == NULL)
sbin/dhcp6leased/frontend.c
973
LIST_REMOVE(iface, entries);
sbin/dhcp6leased/frontend.c
974
if (event_initialized(&iface->udpev)) {
sbin/dhcp6leased/frontend.c
975
event_del(&iface->udpev);
sbin/dhcp6leased/frontend.c
976
close(EVENT_FD(&iface->udpev));
sbin/dhcp6leased/frontend.c
978
free(iface);
sbin/dhcp6leased/frontend.c
984
struct iface *iface;
sbin/dhcp6leased/frontend.c
986
iface = get_iface_by_id(if_index);
sbin/dhcp6leased/frontend.c
988
if (iface == NULL) {
sbin/dhcp6leased/frontend.c
994
} else if (event_initialized(&iface->udpev)) {
sbin/dhcp6leased/parse.y
603
struct iface_conf *iface;
sbin/dhcp6leased/parse.y
637
SIMPLEQ_FOREACH(iface, &conf->iface_list, entry) {
sbin/dhcp6leased/parse.y
638
SIMPLEQ_FOREACH(ia_conf, &iface->iface_ia_list, entry) {
sbin/dhcp6leased/parse.y
702
struct iface_conf *iface;
sbin/dhcp6leased/parse.y
705
SIMPLEQ_FOREACH(iface, &conf->iface_list, entry) {
sbin/dhcp6leased/parse.y
706
if (strcmp(name, iface->name) == 0)
sbin/dhcp6leased/parse.y
707
return (iface);
sbin/dhcp6leased/parse.y
710
iface = calloc(1, sizeof(*iface));
sbin/dhcp6leased/parse.y
711
if (iface == NULL)
sbin/dhcp6leased/parse.y
713
n = strlcpy(iface->name, name, sizeof(iface->name));
sbin/dhcp6leased/parse.y
714
if (n >= sizeof(iface->name))
sbin/dhcp6leased/parse.y
716
SIMPLEQ_INIT(&iface->iface_ia_list);
sbin/dhcp6leased/parse.y
718
SIMPLEQ_INSERT_TAIL(&conf->iface_list, iface, entry);
sbin/dhcp6leased/parse.y
720
return (iface);
sbin/dhcp6leased/printconf.c
101
struct iface_conf *iface;
sbin/dhcp6leased/printconf.c
106
SIMPLEQ_FOREACH(iface, &conf->iface_list, entry)
sbin/dhcp6leased/printconf.c
107
print_iface_conf(iface, verbose);
sbin/dhcp6leased/printconf.c
76
print_iface_conf(struct iface_conf *iface, int verbose)
sbin/dhcp6leased/printconf.c
81
SIMPLEQ_FOREACH(ia_conf, &iface->iface_ia_list, entry) {
sbin/dhcp6leased/printconf.c
88
"\t# prefix length = %d\n", iface->name,
sbin/dhcp6leased/printconf.c
92
iface->name);
sbin/dhcpleased/engine.c
1121
if (dho_len != 1 + sizeof(iface->hw_address))
sbin/dhcpleased/engine.c
1127
if (memcmp(p + 1, &iface->hw_address,
sbin/dhcpleased/engine.c
1128
sizeof(iface->hw_address)) != 0) {
sbin/dhcpleased/engine.c
1236
dhcp_message_type2str(dhcp_message_type), iface->if_name, from,
sbin/dhcpleased/engine.c
1241
if (iface->state != IF_INIT) {
sbin/dhcpleased/engine.c
1254
iface->ipv6_only_time = ipv6_only_time;
sbin/dhcpleased/engine.c
1255
state_transition(iface, IF_IPV6_ONLY);
sbin/dhcpleased/engine.c
1259
iface->server_identifier = server_identifier;
sbin/dhcpleased/engine.c
1260
iface->dhcp_server = server_identifier;
sbin/dhcpleased/engine.c
1261
iface->requested_ip = dhcp_hdr->yiaddr;
sbin/dhcpleased/engine.c
1262
state_transition(iface, IF_REQUESTING);
sbin/dhcpleased/engine.c
1265
switch (iface->state) {
sbin/dhcpleased/engine.c
1317
clock_gettime(CLOCK_MONOTONIC, &iface->request_time);
sbin/dhcpleased/engine.c
1318
iface->server_identifier = server_identifier;
sbin/dhcpleased/engine.c
1319
iface->dhcp_server = server_identifier;
sbin/dhcpleased/engine.c
1320
iface->requested_ip = dhcp_hdr->yiaddr;
sbin/dhcpleased/engine.c
1321
iface->mask = subnet_mask;
sbin/dhcpleased/engine.c
1324
iface->routes_len = 0;
sbin/dhcpleased/engine.c
1325
memset(iface->routes, 0, sizeof(iface->routes));
sbin/dhcpleased/engine.c
1329
iface->prev_routes_len = iface->routes_len;
sbin/dhcpleased/engine.c
1330
memcpy(iface->prev_routes, iface->routes,
sbin/dhcpleased/engine.c
1331
sizeof(iface->prev_routes));
sbin/dhcpleased/engine.c
1332
iface->routes_len = routes_len;
sbin/dhcpleased/engine.c
1333
memcpy(iface->routes, routes, sizeof(iface->routes));
sbin/dhcpleased/engine.c
1335
iface->lease_time = lease_time;
sbin/dhcpleased/engine.c
1336
iface->renewal_time = renewal_time;
sbin/dhcpleased/engine.c
1337
iface->rebinding_time = rebinding_time;
sbin/dhcpleased/engine.c
1341
memset(iface->nameservers, 0,
sbin/dhcpleased/engine.c
1342
sizeof(iface->nameservers));
sbin/dhcpleased/engine.c
1346
memcpy(iface->nameservers, nameservers,
sbin/dhcpleased/engine.c
1347
sizeof(iface->nameservers));
sbin/dhcpleased/engine.c
1350
iface->siaddr = dhcp_hdr->siaddr;
sbin/dhcpleased/engine.c
1353
strnvis(iface->file, dhcp_hdr->file, sizeof(iface->file),
sbin/dhcpleased/engine.c
1356
strlcpy(iface->domainname, domainname,
sbin/dhcpleased/engine.c
1357
sizeof(iface->domainname));
sbin/dhcpleased/engine.c
1358
strlcpy(iface->hostname, hostname, sizeof(iface->hostname));
sbin/dhcpleased/engine.c
1362
iface->ipv6_only_time = ipv6_only_time;
sbin/dhcpleased/engine.c
1363
state_transition(iface, IF_IPV6_ONLY);
sbin/dhcpleased/engine.c
1367
state_transition(iface, IF_BOUND);
sbin/dhcpleased/engine.c
1370
switch (iface->state) {
sbin/dhcpleased/engine.c
1381
state_transition(iface, IF_INIT);
sbin/dhcpleased/engine.c
1400
state_transition(struct dhcpleased_iface *iface, enum if_state new_state)
sbin/dhcpleased/engine.c
1402
enum if_state old_state = iface->state;
sbin/dhcpleased/engine.c
1405
iface->state = new_state;
sbin/dhcpleased/engine.c
1409
if (iface->requested_ip.s_addr == INADDR_ANY) {
sbin/dhcpleased/engine.c
1411
iface->timo.tv_sec = -1;
sbin/dhcpleased/engine.c
1416
send_deconfigure_interface(iface);
sbin/dhcpleased/engine.c
1418
iface->timo.tv_sec = -1;
sbin/dhcpleased/engine.c
1420
send_rdns_withdraw(iface);
sbin/dhcpleased/engine.c
1422
timespecsub(&now, &iface->request_time, &res);
sbin/dhcpleased/engine.c
1423
iface->timo.tv_sec = iface->lease_time - res.tv_sec;
sbin/dhcpleased/engine.c
1424
if (iface->timo.tv_sec < 0)
sbin/dhcpleased/engine.c
1425
iface->timo.tv_sec = 0; /* deconfigure now */
sbin/dhcpleased/engine.c
1431
if (iface->timo.tv_sec < MAX_EXP_BACKOFF_SLOW)
sbin/dhcpleased/engine.c
1432
iface->timo.tv_sec *= 2;
sbin/dhcpleased/engine.c
1439
send_rdns_withdraw(iface);
sbin/dhcpleased/engine.c
1440
send_deconfigure_interface(iface);
sbin/dhcpleased/engine.c
1444
iface->timo.tv_sec = START_EXP_BACKOFF;
sbin/dhcpleased/engine.c
1445
iface->xid = arc4random();
sbin/dhcpleased/engine.c
1451
request_dhcp_discover(iface);
sbin/dhcpleased/engine.c
1455
iface->timo.tv_sec *= 2;
sbin/dhcpleased/engine.c
1457
iface->timo.tv_sec = START_EXP_BACKOFF;
sbin/dhcpleased/engine.c
1458
iface->xid = arc4random();
sbin/dhcpleased/engine.c
1460
request_dhcp_request(iface);
sbin/dhcpleased/engine.c
1464
iface->timo.tv_sec *= 2;
sbin/dhcpleased/engine.c
1466
iface->timo.tv_sec = START_EXP_BACKOFF;
sbin/dhcpleased/engine.c
1467
request_dhcp_request(iface);
sbin/dhcpleased/engine.c
1470
iface->timo.tv_sec = iface->renewal_time;
sbin/dhcpleased/engine.c
1472
send_configure_interface(iface);
sbin/dhcpleased/engine.c
1473
send_rdns_proposal(iface);
sbin/dhcpleased/engine.c
1478
iface->timo.tv_sec = (iface->rebinding_time -
sbin/dhcpleased/engine.c
1479
iface->renewal_time) / 2; /* RFC 2131 4.4.5 */
sbin/dhcpleased/engine.c
1480
iface->xid = arc4random();
sbin/dhcpleased/engine.c
1482
iface->timo.tv_sec /= 2;
sbin/dhcpleased/engine.c
1484
if (iface->timo.tv_sec < 60)
sbin/dhcpleased/engine.c
1485
iface->timo.tv_sec = 60;
sbin/dhcpleased/engine.c
1486
request_dhcp_request(iface);
sbin/dhcpleased/engine.c
1490
iface->timo.tv_sec = (iface->lease_time -
sbin/dhcpleased/engine.c
1491
iface->rebinding_time) / 2; /* RFC 2131 4.4.5 */
sbin/dhcpleased/engine.c
1493
iface->timo.tv_sec /= 2;
sbin/dhcpleased/engine.c
1494
request_dhcp_request(iface);
sbin/dhcpleased/engine.c
1503
send_rdns_withdraw(iface);
sbin/dhcpleased/engine.c
1504
send_deconfigure_interface(iface);
sbin/dhcpleased/engine.c
1509
iface->timo.tv_sec = iface->ipv6_only_time;
sbin/dhcpleased/engine.c
1517
log_debug("%s[%s] %s -> %s, timo: %lld", __func__, iface->if_name,
sbin/dhcpleased/engine.c
1519
iface->timo.tv_sec);
sbin/dhcpleased/engine.c
1521
if (iface->timo.tv_sec == -1) {
sbin/dhcpleased/engine.c
1522
if (evtimer_pending(&iface->timer, NULL))
sbin/dhcpleased/engine.c
1523
evtimer_del(&iface->timer);
sbin/dhcpleased/engine.c
1525
evtimer_add(&iface->timer, &iface->timo);
sbin/dhcpleased/engine.c
1531
struct dhcpleased_iface *iface = (struct dhcpleased_iface *)arg;
sbin/dhcpleased/engine.c
1534
log_debug("%s[%d]: %s", __func__, iface->if_index,
sbin/dhcpleased/engine.c
1535
if_state_name[iface->state]);
sbin/dhcpleased/engine.c
1537
switch (iface->state) {
sbin/dhcpleased/engine.c
1539
state_transition(iface, IF_DOWN);
sbin/dhcpleased/engine.c
1542
state_transition(iface, IF_INIT);
sbin/dhcpleased/engine.c
1545
if (iface->timo.tv_sec >= MAX_EXP_BACKOFF_FAST)
sbin/dhcpleased/engine.c
1546
state_transition(iface, IF_INIT);
sbin/dhcpleased/engine.c
1548
state_transition(iface, IF_REBOOTING);
sbin/dhcpleased/engine.c
1551
if (iface->timo.tv_sec >= MAX_EXP_BACKOFF_SLOW)
sbin/dhcpleased/engine.c
1552
state_transition(iface, IF_INIT);
sbin/dhcpleased/engine.c
1554
state_transition(iface, IF_REQUESTING);
sbin/dhcpleased/engine.c
1557
state_transition(iface, IF_RENEWING);
sbin/dhcpleased/engine.c
1561
timespecsub(&now, &iface->request_time, &res);
sbin/dhcpleased/engine.c
1563
res.tv_sec, iface->rebinding_time);
sbin/dhcpleased/engine.c
1564
if (res.tv_sec >= iface->rebinding_time)
sbin/dhcpleased/engine.c
1565
state_transition(iface, IF_REBINDING);
sbin/dhcpleased/engine.c
1567
state_transition(iface, IF_RENEWING);
sbin/dhcpleased/engine.c
1571
timespecsub(&now, &iface->request_time, &res);
sbin/dhcpleased/engine.c
1573
res.tv_sec, iface->lease_time);
sbin/dhcpleased/engine.c
1574
if (res.tv_sec > iface->lease_time)
sbin/dhcpleased/engine.c
1575
state_transition(iface, IF_INIT);
sbin/dhcpleased/engine.c
1577
state_transition(iface, IF_REBINDING);
sbin/dhcpleased/engine.c
1580
state_transition(iface, IF_REQUESTING);
sbin/dhcpleased/engine.c
1586
request_dhcp_discover(struct dhcpleased_iface *iface)
sbin/dhcpleased/engine.c
1592
imsg.if_index = iface->if_index;
sbin/dhcpleased/engine.c
1593
imsg.xid = iface->xid;
sbin/dhcpleased/engine.c
1614
request_dhcp_request(struct dhcpleased_iface *iface)
sbin/dhcpleased/engine.c
1618
imsg.if_index = iface->if_index;
sbin/dhcpleased/engine.c
1619
imsg.xid = iface->xid;
sbin/dhcpleased/engine.c
1632
switch (iface->state) {
sbin/dhcpleased/engine.c
1645
imsg.requested_ip = iface->requested_ip; /* MUST */
sbin/dhcpleased/engine.c
1651
iface->server_identifier; /* MUST */
sbin/dhcpleased/engine.c
1652
imsg.requested_ip = iface->requested_ip; /* MUST */
sbin/dhcpleased/engine.c
1656
imsg.dhcp_server = iface->dhcp_server; /* unicast */
sbin/dhcpleased/engine.c
1659
imsg.ciaddr = iface->requested_ip; /* IP address */
sbin/dhcpleased/engine.c
1665
imsg.ciaddr = iface->requested_ip; /* IP address */
sbin/dhcpleased/engine.c
1676
log_lease(struct dhcpleased_iface *iface, int deconfigure)
sbin/dhcpleased/engine.c
1680
inet_ntop(AF_INET, &iface->requested_ip, hbuf_lease,
sbin/dhcpleased/engine.c
1682
inet_ntop(AF_INET, &iface->server_identifier, hbuf_server,
sbin/dhcpleased/engine.c
1688
iface->if_name, hbuf_server);
sbin/dhcpleased/engine.c
1691
iface->if_name, hbuf_server);
sbin/dhcpleased/engine.c
1695
send_configure_interface(struct dhcpleased_iface *iface)
sbin/dhcpleased/engine.c
1700
log_lease(iface, 0);
sbin/dhcpleased/engine.c
1703
imsg.if_index = iface->if_index;
sbin/dhcpleased/engine.c
1704
imsg.rdomain = iface->rdomain;
sbin/dhcpleased/engine.c
1705
imsg.addr = iface->requested_ip;
sbin/dhcpleased/engine.c
1706
imsg.mask = iface->mask;
sbin/dhcpleased/engine.c
1707
imsg.siaddr = iface->siaddr;
sbin/dhcpleased/engine.c
1708
strlcpy(imsg.file, iface->file, sizeof(imsg.file));
sbin/dhcpleased/engine.c
1709
strlcpy(imsg.domainname, iface->domainname, sizeof(imsg.domainname));
sbin/dhcpleased/engine.c
1710
strlcpy(imsg.hostname, iface->hostname, sizeof(imsg.hostname));
sbin/dhcpleased/engine.c
1711
for (i = 0; i < iface->prev_routes_len; i++) {
sbin/dhcpleased/engine.c
1713
for (j = 0; j < iface->routes_len; j++) {
sbin/dhcpleased/engine.c
1714
if (memcmp(&iface->prev_routes[i], &iface->routes[j],
sbin/dhcpleased/engine.c
1721
imsg.routes[imsg.routes_len++] = iface->prev_routes[i];
sbin/dhcpleased/engine.c
1726
imsg.routes_len = iface->routes_len;
sbin/dhcpleased/engine.c
1727
memcpy(imsg.routes, iface->routes, sizeof(imsg.routes));
sbin/dhcpleased/engine.c
1733
send_deconfigure_interface(struct dhcpleased_iface *iface)
sbin/dhcpleased/engine.c
1737
if (iface->requested_ip.s_addr == INADDR_ANY)
sbin/dhcpleased/engine.c
1740
log_lease(iface, 1);
sbin/dhcpleased/engine.c
1743
imsg.if_index = iface->if_index;
sbin/dhcpleased/engine.c
1744
imsg.rdomain = iface->rdomain;
sbin/dhcpleased/engine.c
1745
imsg.addr = iface->requested_ip;
sbin/dhcpleased/engine.c
1746
imsg.mask = iface->mask;
sbin/dhcpleased/engine.c
1747
imsg.siaddr = iface->siaddr;
sbin/dhcpleased/engine.c
1748
strlcpy(imsg.file, iface->file, sizeof(imsg.file));
sbin/dhcpleased/engine.c
1749
strlcpy(imsg.domainname, iface->domainname, sizeof(imsg.domainname));
sbin/dhcpleased/engine.c
1750
strlcpy(imsg.hostname, iface->hostname, sizeof(imsg.hostname));
sbin/dhcpleased/engine.c
1751
imsg.routes_len = iface->routes_len;
sbin/dhcpleased/engine.c
1752
memcpy(imsg.routes, iface->routes, sizeof(imsg.routes));
sbin/dhcpleased/engine.c
1756
iface->server_identifier.s_addr = INADDR_ANY;
sbin/dhcpleased/engine.c
1757
iface->dhcp_server.s_addr = INADDR_ANY;
sbin/dhcpleased/engine.c
1758
iface->requested_ip.s_addr = INADDR_ANY;
sbin/dhcpleased/engine.c
1759
iface->mask.s_addr = INADDR_ANY;
sbin/dhcpleased/engine.c
1760
iface->routes_len = 0;
sbin/dhcpleased/engine.c
1761
memset(iface->routes, 0, sizeof(iface->routes));
sbin/dhcpleased/engine.c
1765
send_routes_withdraw(struct dhcpleased_iface *iface)
sbin/dhcpleased/engine.c
1769
if (iface->requested_ip.s_addr == INADDR_ANY || iface->routes_len == 0)
sbin/dhcpleased/engine.c
1772
imsg.if_index = iface->if_index;
sbin/dhcpleased/engine.c
1773
imsg.rdomain = iface->rdomain;
sbin/dhcpleased/engine.c
1774
imsg.addr = iface->requested_ip;
sbin/dhcpleased/engine.c
1775
imsg.mask = iface->mask;
sbin/dhcpleased/engine.c
1776
imsg.siaddr = iface->siaddr;
sbin/dhcpleased/engine.c
1777
strlcpy(imsg.file, iface->file, sizeof(imsg.file));
sbin/dhcpleased/engine.c
1778
strlcpy(imsg.domainname, iface->domainname, sizeof(imsg.domainname));
sbin/dhcpleased/engine.c
1779
strlcpy(imsg.hostname, iface->hostname, sizeof(imsg.hostname));
sbin/dhcpleased/engine.c
1780
imsg.routes_len = iface->routes_len;
sbin/dhcpleased/engine.c
1781
memcpy(imsg.routes, iface->routes, sizeof(imsg.routes));
sbin/dhcpleased/engine.c
1787
log_rdns(struct dhcpleased_iface *iface, int withdraw)
sbin/dhcpleased/engine.c
1793
inet_ntop(AF_INET, &iface->server_identifier, hbuf_server,
sbin/dhcpleased/engine.c
1796
for (i = 0; i < MAX_RDNS_COUNT && iface->nameservers[i].s_addr !=
sbin/dhcpleased/engine.c
1798
inet_ntop(AF_INET, &iface->nameservers[i], hbuf_rdns,
sbin/dhcpleased/engine.c
1812
rdns_buf, hbuf_server, iface->if_name);
sbin/dhcpleased/engine.c
1815
rdns_buf, hbuf_server, iface->if_name);
sbin/dhcpleased/engine.c
1822
send_rdns_proposal(struct dhcpleased_iface *iface)
sbin/dhcpleased/engine.c
1826
log_rdns(iface, 0);
sbin/dhcpleased/engine.c
1830
imsg.if_index = iface->if_index;
sbin/dhcpleased/engine.c
1831
imsg.rdomain = iface->rdomain;
sbin/dhcpleased/engine.c
1833
iface->nameservers[imsg.rdns_count].s_addr != INADDR_ANY;
sbin/dhcpleased/engine.c
1836
memcpy(imsg.rdns, iface->nameservers, sizeof(imsg.rdns));
sbin/dhcpleased/engine.c
1841
send_rdns_withdraw(struct dhcpleased_iface *iface)
sbin/dhcpleased/engine.c
1845
log_rdns(iface, 1);
sbin/dhcpleased/engine.c
1849
imsg.if_index = iface->if_index;
sbin/dhcpleased/engine.c
1850
imsg.rdomain = iface->rdomain;
sbin/dhcpleased/engine.c
1852
memset(iface->nameservers, 0, sizeof(iface->nameservers));
sbin/dhcpleased/engine.c
1856
parse_lease(struct dhcpleased_iface *iface, struct imsg_ifinfo *imsg_ifinfo)
sbin/dhcpleased/engine.c
1860
iface->requested_ip.s_addr = INADDR_ANY;
sbin/dhcpleased/engine.c
1870
if (inet_pton(AF_INET, p, &iface->requested_ip) != 1)
sbin/dhcpleased/engine.c
1871
iface->requested_ip.s_addr = INADDR_ANY;
sbin/dhcpleased/engine.c
289
struct dhcpleased_iface *iface;
sbin/dhcpleased/engine.c
341
iface = get_dhcpleased_iface_by_id(if_index);
sbin/dhcpleased/engine.c
342
if (iface != NULL) {
sbin/dhcpleased/engine.c
343
switch (iface->state) {
sbin/dhcpleased/engine.c
348
state_transition(iface, iface->state);
sbin/dhcpleased/engine.c
355
state_transition(iface, IF_REBOOTING);
sbin/dhcpleased/engine.c
375
iface = get_dhcpleased_iface_by_id(imsg_dhcp.if_index);
sbin/dhcpleased/engine.c
376
if (iface != NULL)
sbin/dhcpleased/engine.c
377
parse_dhcp(iface, &imsg_dhcp);
sbin/dhcpleased/engine.c
381
LIST_FOREACH (iface, &dhcpleased_interfaces, entries)
sbin/dhcpleased/engine.c
382
send_rdns_proposal(iface);
sbin/dhcpleased/engine.c
559
struct dhcpleased_iface *iface;
sbin/dhcpleased/engine.c
572
iface = get_dhcpleased_iface_by_id(if_index);
sbin/dhcpleased/engine.c
573
if (iface == NULL)
sbin/dhcpleased/engine.c
576
&engine_conf->iface_list, iface->if_name);
sbin/dhcpleased/engine.c
580
send_rdns_withdraw(iface);
sbin/dhcpleased/engine.c
582
send_routes_withdraw(iface);
sbin/dhcpleased/engine.c
605
send_interface_info(struct dhcpleased_iface *iface, pid_t pid)
sbin/dhcpleased/engine.c
610
cei.if_index = iface->if_index;
sbin/dhcpleased/engine.c
611
cei.running = iface->running;
sbin/dhcpleased/engine.c
612
cei.link_state = iface->link_state;
sbin/dhcpleased/engine.c
613
strlcpy(cei.state, if_state_name[iface->state], sizeof(cei.state));
sbin/dhcpleased/engine.c
614
memcpy(&cei.request_time, &iface->request_time,
sbin/dhcpleased/engine.c
616
cei.server_identifier = iface->server_identifier;
sbin/dhcpleased/engine.c
617
cei.dhcp_server = iface->dhcp_server;
sbin/dhcpleased/engine.c
618
cei.requested_ip = iface->requested_ip;
sbin/dhcpleased/engine.c
619
cei.mask = iface->mask;
sbin/dhcpleased/engine.c
620
cei.routes_len = iface->routes_len;
sbin/dhcpleased/engine.c
621
memcpy(cei.routes, iface->routes, sizeof(cei.routes));
sbin/dhcpleased/engine.c
622
memcpy(cei.nameservers, iface->nameservers, sizeof(cei.nameservers));
sbin/dhcpleased/engine.c
623
cei.lease_time = iface->lease_time;
sbin/dhcpleased/engine.c
624
cei.renewal_time = iface->renewal_time;
sbin/dhcpleased/engine.c
625
cei.rebinding_time = iface->rebinding_time;
sbin/dhcpleased/engine.c
633
struct dhcpleased_iface *iface;
sbin/dhcpleased/engine.c
635
if ((iface = get_dhcpleased_iface_by_id(if_index)) != NULL)
sbin/dhcpleased/engine.c
636
send_interface_info(iface, pid);
sbin/dhcpleased/engine.c
645
struct dhcpleased_iface *iface;
sbin/dhcpleased/engine.c
648
iface = get_dhcpleased_iface_by_id(imsg_ifinfo->if_index);
sbin/dhcpleased/engine.c
650
if (iface == NULL) {
sbin/dhcpleased/engine.c
651
if ((iface = calloc(1, sizeof(*iface))) == NULL)
sbin/dhcpleased/engine.c
653
iface->state = IF_DOWN;
sbin/dhcpleased/engine.c
654
iface->xid = arc4random();
sbin/dhcpleased/engine.c
655
iface->timo.tv_usec = arc4random_uniform(1000000);
sbin/dhcpleased/engine.c
656
evtimer_set(&iface->timer, iface_timeout, iface);
sbin/dhcpleased/engine.c
657
iface->if_index = imsg_ifinfo->if_index;
sbin/dhcpleased/engine.c
658
iface->rdomain = imsg_ifinfo->rdomain;
sbin/dhcpleased/engine.c
659
iface->running = imsg_ifinfo->running;
sbin/dhcpleased/engine.c
660
iface->link_state = imsg_ifinfo->link_state;
sbin/dhcpleased/engine.c
661
iface->requested_ip.s_addr = INADDR_ANY;
sbin/dhcpleased/engine.c
662
memcpy(iface->if_name, imsg_ifinfo->if_name,
sbin/dhcpleased/engine.c
663
sizeof(iface->if_name));
sbin/dhcpleased/engine.c
664
iface->if_name[sizeof(iface->if_name) - 1] = '\0';
sbin/dhcpleased/engine.c
665
memcpy(&iface->hw_address, &imsg_ifinfo->hw_address,
sbin/dhcpleased/engine.c
667
LIST_INSERT_HEAD(&dhcpleased_interfaces, iface, entries);
sbin/dhcpleased/engine.c
670
if (memcmp(&iface->hw_address, &imsg_ifinfo->hw_address,
sbin/dhcpleased/engine.c
672
memcpy(&iface->hw_address, &imsg_ifinfo->hw_address,
sbin/dhcpleased/engine.c
676
if (imsg_ifinfo->rdomain != iface->rdomain) {
sbin/dhcpleased/engine.c
677
iface->rdomain = imsg_ifinfo->rdomain;
sbin/dhcpleased/engine.c
680
if (imsg_ifinfo->running != iface->running) {
sbin/dhcpleased/engine.c
681
iface->running = imsg_ifinfo->running;
sbin/dhcpleased/engine.c
685
if (imsg_ifinfo->link_state != iface->link_state) {
sbin/dhcpleased/engine.c
686
iface->link_state = imsg_ifinfo->link_state;
sbin/dhcpleased/engine.c
694
if (iface->running && LINK_STATE_IS_UP(iface->link_state)) {
sbin/dhcpleased/engine.c
695
if (iface->requested_ip.s_addr == INADDR_ANY)
sbin/dhcpleased/engine.c
696
parse_lease(iface, imsg_ifinfo);
sbin/dhcpleased/engine.c
698
if (iface->requested_ip.s_addr == INADDR_ANY)
sbin/dhcpleased/engine.c
699
state_transition(iface, IF_INIT);
sbin/dhcpleased/engine.c
701
state_transition(iface, IF_REBOOTING);
sbin/dhcpleased/engine.c
703
state_transition(iface, IF_DOWN);
sbin/dhcpleased/engine.c
708
struct dhcpleased_iface *iface;
sbin/dhcpleased/engine.c
709
LIST_FOREACH (iface, &dhcpleased_interfaces, entries) {
sbin/dhcpleased/engine.c
710
if (iface->if_index == if_index)
sbin/dhcpleased/engine.c
711
return (iface);
sbin/dhcpleased/engine.c
720
struct dhcpleased_iface *iface;
sbin/dhcpleased/engine.c
722
iface = get_dhcpleased_iface_by_id(if_index);
sbin/dhcpleased/engine.c
724
if (iface == NULL)
sbin/dhcpleased/engine.c
727
send_rdns_withdraw(iface);
sbin/dhcpleased/engine.c
728
send_deconfigure_interface(iface);
sbin/dhcpleased/engine.c
729
LIST_REMOVE(iface, entries);
sbin/dhcpleased/engine.c
730
evtimer_del(&iface->timer);
sbin/dhcpleased/engine.c
731
free(iface);
sbin/dhcpleased/engine.c
735
parse_dhcp(struct dhcpleased_iface *iface, struct imsg_dhcp *dhcp)
sbin/dhcpleased/engine.c
769
iface_conf = find_iface_conf(&engine_conf->iface_list, iface->if_name);
sbin/dhcpleased/engine.c
792
if (memcmp(ðer_dst, &iface->hw_address, sizeof(ether_dst)) != 0 &&
sbin/dhcpleased/engine.c
890
if (ntohl(dhcp_hdr->xid) != iface->xid)
sbin/dhcpleased/frontend.c
104
LIST_HEAD(, iface) interfaces;
sbin/dhcpleased/frontend.c
1050
send_packet(uint8_t message_type, struct iface *iface)
sbin/dhcpleased/frontend.c
1054
if (!event_initialized(&iface->bpfev.ev)) {
sbin/dhcpleased/frontend.c
1055
iface->send_discover = 1;
sbin/dhcpleased/frontend.c
1059
iface->send_discover = 0;
sbin/dhcpleased/frontend.c
1062
"DHCPREQUEST", iface->ifinfo.if_name);
sbin/dhcpleased/frontend.c
1064
pkt_len = build_packet(message_type, iface->ifinfo.if_name, iface->xid,
sbin/dhcpleased/frontend.c
1065
&iface->ifinfo.hw_address, &iface->ciaddr, &iface->requested_ip,
sbin/dhcpleased/frontend.c
1066
&iface->server_identifier);
sbin/dhcpleased/frontend.c
1067
if (iface->dhcp_server.s_addr != INADDR_ANY) {
sbin/dhcpleased/frontend.c
1068
if (udp_send_packet(iface, dhcp_packet, pkt_len) == -1)
sbin/dhcpleased/frontend.c
1069
bpf_send_packet(iface, dhcp_packet, pkt_len);
sbin/dhcpleased/frontend.c
1071
bpf_send_packet(iface, dhcp_packet, pkt_len);
sbin/dhcpleased/frontend.c
1075
udp_send_packet(struct iface *iface, uint8_t *packet, ssize_t len)
sbin/dhcpleased/frontend.c
1082
to.sin_addr = iface->dhcp_server;
sbin/dhcpleased/frontend.c
1085
if (sendto(iface->udpsock, packet, len, 0, (struct sockaddr *)&to,
sbin/dhcpleased/frontend.c
1093
bpf_send_packet(struct iface *iface, uint8_t *packet, ssize_t len)
sbin/dhcpleased/frontend.c
1103
memcpy(eh.ether_shost, &iface->ifinfo.hw_address,
sbin/dhcpleased/frontend.c
1147
result = writev(EVENT_FD(&iface->bpfev.ev), iov, iovcnt);
sbin/dhcpleased/frontend.c
1156
struct iface*
sbin/dhcpleased/frontend.c
1159
struct iface *iface;
sbin/dhcpleased/frontend.c
1161
LIST_FOREACH (iface, &interfaces, entries) {
sbin/dhcpleased/frontend.c
1162
if (iface->ifinfo.if_index == if_index)
sbin/dhcpleased/frontend.c
1163
return (iface);
sbin/dhcpleased/frontend.c
1172
struct iface *iface;
sbin/dhcpleased/frontend.c
1174
iface = get_iface_by_id(if_index);
sbin/dhcpleased/frontend.c
1176
if (iface == NULL)
sbin/dhcpleased/frontend.c
1179
LIST_REMOVE(iface, entries);
sbin/dhcpleased/frontend.c
1180
if (event_initialized(&iface->bpfev.ev)) {
sbin/dhcpleased/frontend.c
1181
event_del(&iface->bpfev.ev);
sbin/dhcpleased/frontend.c
1182
close(EVENT_FD(&iface->bpfev.ev));
sbin/dhcpleased/frontend.c
1184
if (iface->udpsock != -1)
sbin/dhcpleased/frontend.c
1185
close(iface->udpsock);
sbin/dhcpleased/frontend.c
1186
free(iface);
sbin/dhcpleased/frontend.c
1192
struct iface *iface;
sbin/dhcpleased/frontend.c
1194
iface = get_iface_by_id(if_index);
sbin/dhcpleased/frontend.c
1196
if (iface == NULL) {
sbin/dhcpleased/frontend.c
1202
} else if (event_initialized(&iface->bpfev.ev)) {
sbin/dhcpleased/frontend.c
1209
event_set(&iface->bpfev.ev, bpfsock, EV_READ |
sbin/dhcpleased/frontend.c
1210
EV_PERSIST, bpf_receive, iface);
sbin/dhcpleased/frontend.c
1211
event_add(&iface->bpfev.ev, NULL);
sbin/dhcpleased/frontend.c
1212
if (iface->send_discover)
sbin/dhcpleased/frontend.c
1213
send_packet(DHCPDISCOVER, iface);
sbin/dhcpleased/frontend.c
241
struct iface *iface;
sbin/dhcpleased/frontend.c
317
if ((iface = get_iface_by_id(if_index)) == NULL) {
sbin/dhcpleased/frontend.c
321
if (iface->udpsock != -1)
sbin/dhcpleased/frontend.c
324
iface->udpsock = udpsock;
sbin/dhcpleased/frontend.c
331
if ((iface = get_iface_by_id(if_index)) != NULL &&
sbin/dhcpleased/frontend.c
332
iface->udpsock != -1) {
sbin/dhcpleased/frontend.c
333
close(iface->udpsock);
sbin/dhcpleased/frontend.c
334
iface->udpsock = -1;
sbin/dhcpleased/frontend.c
481
struct iface *iface;
sbin/dhcpleased/frontend.c
523
iface = get_iface_by_id(imsg_req_dhcp.if_index);
sbin/dhcpleased/frontend.c
525
if (iface == NULL)
sbin/dhcpleased/frontend.c
528
iface_data_from_imsg(iface, &imsg_req_dhcp);
sbin/dhcpleased/frontend.c
529
send_packet(DHCPDISCOVER, iface);
sbin/dhcpleased/frontend.c
539
iface = get_iface_by_id(imsg_req_dhcp.if_index);
sbin/dhcpleased/frontend.c
541
if (iface == NULL)
sbin/dhcpleased/frontend.c
544
iface_data_from_imsg(iface, &imsg_req_dhcp);
sbin/dhcpleased/frontend.c
545
send_packet(DHCPREQUEST, iface);
sbin/dhcpleased/frontend.c
592
struct iface *iface;
sbin/dhcpleased/frontend.c
602
iface = get_iface_by_id(if_index);
sbin/dhcpleased/frontend.c
605
if (iface != NULL) {
sbin/dhcpleased/frontend.c
607
iface->ifinfo.if_name);
sbin/dhcpleased/frontend.c
629
else if (iface == NULL) {
sbin/dhcpleased/frontend.c
635
if (iface == NULL) {
sbin/dhcpleased/frontend.c
636
if ((iface = calloc(1, sizeof(*iface))) == NULL)
sbin/dhcpleased/frontend.c
638
iface->udpsock = -1;
sbin/dhcpleased/frontend.c
639
LIST_INSERT_HEAD(&interfaces, iface, entries);
sbin/dhcpleased/frontend.c
643
if (iface->ifinfo.rdomain != ifinfo.rdomain &&
sbin/dhcpleased/frontend.c
644
iface->udpsock != -1) {
sbin/dhcpleased/frontend.c
645
close(iface->udpsock);
sbin/dhcpleased/frontend.c
646
iface->udpsock = -1;
sbin/dhcpleased/frontend.c
650
if (memcmp(&iface->ifinfo, &ifinfo, sizeof(iface->ifinfo)) != 0) {
sbin/dhcpleased/frontend.c
651
memcpy(&iface->ifinfo, &ifinfo, sizeof(iface->ifinfo));
sbin/dhcpleased/frontend.c
652
frontend_imsg_compose_main(IMSG_UPDATE_IF, 0, &iface->ifinfo,
sbin/dhcpleased/frontend.c
653
sizeof(iface->ifinfo));
sbin/dhcpleased/frontend.c
673
struct iface *iface;
sbin/dhcpleased/frontend.c
68
LIST_ENTRY(iface) entries;
sbin/dhcpleased/frontend.c
738
if ((iface = calloc(1, sizeof(*iface))) == NULL)
sbin/dhcpleased/frontend.c
740
iface->udpsock = -1;
sbin/dhcpleased/frontend.c
741
memcpy(&iface->ifinfo, &ifinfo, sizeof(iface->ifinfo));
sbin/dhcpleased/frontend.c
742
LIST_INSERT_HEAD(&interfaces, iface, entries);
sbin/dhcpleased/frontend.c
745
frontend_imsg_compose_main(IMSG_UPDATE_IF, 0, &iface->ifinfo,
sbin/dhcpleased/frontend.c
746
sizeof(iface->ifinfo));
sbin/dhcpleased/frontend.c
851
struct iface *iface;
sbin/dhcpleased/frontend.c
855
iface = (struct iface *)arg;
sbin/dhcpleased/frontend.c
857
if ((len = read(fd, iface->bpfev.buf, BPFLEN)) == -1) {
sbin/dhcpleased/frontend.c
866
imsg_dhcp.if_index = iface->ifinfo.if_index;
sbin/dhcpleased/frontend.c
869
p = iface->bpfev.buf;
sbin/dhcpleased/frontend.c
901
iface_data_from_imsg(struct iface* iface, struct imsg_req_dhcp *imsg)
sbin/dhcpleased/frontend.c
903
iface->xid = imsg->xid;
sbin/dhcpleased/frontend.c
904
iface->ciaddr = imsg->ciaddr;
sbin/dhcpleased/frontend.c
905
iface->requested_ip = imsg->requested_ip;
sbin/dhcpleased/frontend.c
906
iface->server_identifier = imsg->server_identifier;
sbin/dhcpleased/frontend.c
907
iface->dhcp_server = imsg->dhcp_server;
sbin/dhcpleased/frontend.c
91
struct iface *get_iface_by_id(uint32_t);
sbin/dhcpleased/frontend.c
94
void iface_data_from_imsg(struct iface*, struct imsg_req_dhcp *);
sbin/dhcpleased/frontend.c
97
void send_packet(uint8_t, struct iface *);
sbin/dhcpleased/frontend.c
98
void bpf_send_packet(struct iface *, uint8_t *, ssize_t);
sbin/dhcpleased/frontend.c
99
int udp_send_packet(struct iface *, uint8_t *, ssize_t);
sbin/dhcpleased/parse.y
844
struct iface_conf *iface;
sbin/dhcpleased/parse.y
847
SIMPLEQ_FOREACH(iface, &conf->iface_list, entry) {
sbin/dhcpleased/parse.y
848
if (strcmp(name, iface->name) == 0)
sbin/dhcpleased/parse.y
849
return (iface);
sbin/dhcpleased/parse.y
852
iface = calloc(1, sizeof(*iface));
sbin/dhcpleased/parse.y
853
if (iface == NULL)
sbin/dhcpleased/parse.y
855
n = strlcpy(iface->name, name, sizeof(iface->name));
sbin/dhcpleased/parse.y
856
if (n >= sizeof(iface->name))
sbin/dhcpleased/parse.y
860
SIMPLEQ_INSERT_TAIL(&conf->iface_list, iface, entry);
sbin/dhcpleased/parse.y
862
return (iface);
sbin/dhcpleased/printconf.c
102
struct iface_conf *iface;
sbin/dhcpleased/printconf.c
106
SIMPLEQ_FOREACH(iface, &conf->iface_list, entry) {
sbin/dhcpleased/printconf.c
107
printf("interface %s {\n", iface->name);
sbin/dhcpleased/printconf.c
108
print_dhcp_options("\t", iface->c_id, iface->c_id_len);
sbin/dhcpleased/printconf.c
109
if (iface->h_name != NULL) {
sbin/dhcpleased/printconf.c
110
if (iface->h_name[0] == '\0')
sbin/dhcpleased/printconf.c
114
iface->h_name);
sbin/dhcpleased/printconf.c
117
print_dhcp_options("\t", iface->vc_id, iface->vc_id_len);
sbin/dhcpleased/printconf.c
118
if (iface->ignore & IGN_DNS)
sbin/dhcpleased/printconf.c
120
if (iface->ignore & IGN_ROUTES)
sbin/dhcpleased/printconf.c
122
for (i = 0; i < iface->ignore_servers_len; i++) {
sbin/dhcpleased/printconf.c
123
if (inet_ntop(AF_INET, &iface->ignore_servers[i],
sbin/dhcpleased/printconf.c
129
if (iface->prefer_ipv6)
sbin/iked/parse.y
1261
iface : {
sbin/iked/parse.y
2719
struct ipsec_addr_wrap *ikecfg, char *iface)
sbin/iked/parse.y
2766
if (iface != NULL) {
sbin/iked/parse.y
2768
if (strncmp("sec", iface, strlen("sec")) == 0)
sbin/iked/parse.y
2771
pol.pol_iface = if_nametoindex(iface);
sbin/iked/parse.y
483
%type <v.string> name iface
sbin/iked/parse.y
569
iface filters {
sbin/iked/pfkey.c
460
char iface[IF_NAMESIZE];
sbin/iked/pfkey.c
703
if (if_indextoname(pol->pol_iface, iface) == 0) {
sbin/iked/pfkey.c
708
ifminor = strtonum(iface + strlen("sec"), 0, UINT_MAX, &errstr);
sbin/iked/pfkey.c
711
__func__, iface);
sbin/iked/print.c
238
if (pol->pol_iface != 0 && if_indextoname(pol->pol_iface, iface) != NULL)
sbin/iked/print.c
239
print_verbose(" iface %s", iface);
sbin/iked/print.c
64
char iface[IF_NAMESIZE];
sbin/ipsecctl/ike.c
153
r->iface);
sbin/ipsecctl/ike.c
844
if (asprintf(&r->p2lid, "from-sec%u", r->iface) == -1)
sbin/ipsecctl/ike.c
846
if (asprintf(&r->p2rid, "to-sec%u", r->iface) == -1)
sbin/ipsecctl/ipsecctl.h
223
unsigned int iface;
sbin/ipsecctl/parse.y
2295
r->iface = rule->iface;
sbin/ipsecctl/parse.y
289
%type <v.unit> iface
sbin/ipsecctl/parse.y
406
| IKE ikemode iface peers
sbin/ipsecctl/parse.y
433
r->iface = $3;
sbin/ipsecctl/parse.y
947
iface : INTERFACE STRING {
sbin/isakmpd/ipsec.c
281
return sa->iface == sa2->iface;
sbin/isakmpd/ipsec.c
401
sa->iface = strtonum(value, 0, UINT_MAX, &errstr);
sbin/isakmpd/pf_key_v2.c
1392
siface->sadb_x_iface_unit = sa->iface;
sbin/isakmpd/pf_key_v2.c
1400
snprintf(iface_str, sizeof(iface_str), "iface %u", sa->iface);
sbin/isakmpd/sa.h
216
unsigned int iface;
sbin/pfctl/pfctl.c
1448
pfctl_show_states(int dev, const char *iface, int opts, long shownr)
sbin/pfctl/pfctl.c
1482
if (iface != NULL && strcmp(p->ifname, iface))
sbin/pfctl/pfctl.c
397
pfctl_clear_stats(int dev, const char *iface, int opts)
sbin/pfctl/pfctl.c
402
if (iface != NULL && strlcpy(pi.pfiio_name, iface,
sbin/pfctl/pfctl.c
404
pfctl_errx(opts, 1, "invalid interface: %s", iface);
sbin/pfctl/pfctl.c
410
if (iface != NULL)
sbin/pfctl/pfctl.c
411
fprintf(stderr, " for interface %s", iface);
sbin/pfctl/pfctl.c
460
pfctl_clear_states(int dev, const char *iface, int opts)
sbin/pfctl/pfctl.c
465
if (iface != NULL && strlcpy(psk.psk_ifname, iface,
sbin/pfctl/pfctl.c
467
pfctl_errx(opts, 1, "invalid interface: %s", iface);
sbin/pfctl/pfctl.c
604
pfctl_net_kill_states(int dev, const char *iface, int opts, int rdomain)
sbin/pfctl/pfctl.c
618
if (iface != NULL && strlcpy(psk.psk_ifname, iface,
sbin/pfctl/pfctl.c
620
errx(1, "invalid interface: %s", iface);
sbin/pfctl/pfctl.c
685
pfctl_label_kill_states(int dev, const char *iface, int opts, int rdomain)
sbin/pfctl/pfctl.c
694
if (iface != NULL && strlcpy(psk.psk_ifname, iface,
sbin/pfctl/pfctl.c
696
errx(1, "invalid interface: %s", iface);
sbin/pfctl/pfctl.c
745
pfctl_key_kill_states(int dev, const char *iface, int opts, int rdomain)
sbin/pfctl/pfctl.c
758
if (iface != NULL && strlcpy(psk.psk_ifname, iface,
sbin/pfctl/pfctl.c
760
errx(1, "invalid interface: %s", iface);
sbin/pfctl/pfctl_queue.c
101
if (iface != NULL && strcmp(node->qs.ifname, iface))
sbin/pfctl/pfctl_queue.c
75
pfctl_show_queues(int dev, const char *iface, int opts, int verbose2)
sbin/pfctl/pfctl_queue.c
85
if (iface != NULL && strcmp(node->qs.ifname, iface))
sbin/slaacd/engine.c
1003
LIST_FOREACH (dfr_proposal, &iface->dfr_proposals,
sbin/slaacd/engine.c
1007
LIST_FOREACH (rdns_proposal, &iface->rdns_proposals,
sbin/slaacd/engine.c
1012
iface->probes = 0;
sbin/slaacd/engine.c
1014
if (iface->probes < MAX_RTR_SOLICITATIONS) {
sbin/slaacd/engine.c
1015
iface->timo.tv_sec = RTR_SOLICITATION_INTERVAL;
sbin/slaacd/engine.c
1016
request_solicitation(iface);
sbin/slaacd/engine.c
1019
iface->timo.tv_sec = -1;
sbin/slaacd/engine.c
1022
iface->timo.tv_sec = -1;
sbin/slaacd/engine.c
1028
if_name = if_indextoname(iface->if_index, ifnamebuf);
sbin/slaacd/engine.c
1031
if_state_name(new_state), iface->timo.tv_sec);
sbin/slaacd/engine.c
1034
if (iface->timo.tv_sec == -1) {
sbin/slaacd/engine.c
1035
if (evtimer_pending(&iface->timer, NULL))
sbin/slaacd/engine.c
1036
evtimer_del(&iface->timer);
sbin/slaacd/engine.c
1038
evtimer_add(&iface->timer, &iface->timo);
sbin/slaacd/engine.c
1045
struct slaacd_iface *iface;
sbin/slaacd/engine.c
1050
if ((iface = get_slaacd_iface_by_id(addr_proposal->if_index)) == NULL)
sbin/slaacd/engine.c
1091
request_solicitation(iface);
sbin/slaacd/engine.c
1126
struct slaacd_iface *iface;
sbin/slaacd/engine.c
1131
if ((iface = get_slaacd_iface_by_id(dfr_proposal->if_index)) == NULL)
sbin/slaacd/engine.c
1166
request_solicitation(iface);
sbin/slaacd/engine.c
1203
struct slaacd_iface *iface;
sbin/slaacd/engine.c
1208
if ((iface = get_slaacd_iface_by_id(rdns_proposal->if_index)) == NULL)
sbin/slaacd/engine.c
1243
request_solicitation(iface);
sbin/slaacd/engine.c
1276
request_solicitation(struct slaacd_iface *iface)
sbin/slaacd/engine.c
1281
timespecsub(&now, &iface->last_sol, &diff);
sbin/slaacd/engine.c
1288
iface->last_sol = now;
sbin/slaacd/engine.c
1290
&iface->if_index, sizeof(iface->if_index));
sbin/slaacd/engine.c
1296
struct slaacd_iface *iface;
sbin/slaacd/engine.c
1299
iface = get_slaacd_iface_by_id(imsg_ifinfo->if_index);
sbin/slaacd/engine.c
1300
if (iface == NULL) {
sbin/slaacd/engine.c
1301
if ((iface = calloc(1, sizeof(*iface))) == NULL)
sbin/slaacd/engine.c
1303
iface->state = IF_DOWN;
sbin/slaacd/engine.c
1304
iface->timo.tv_usec = arc4random_uniform(1000000);
sbin/slaacd/engine.c
1305
evtimer_set(&iface->timer, iface_timeout, iface);
sbin/slaacd/engine.c
1306
iface->if_index = imsg_ifinfo->if_index;
sbin/slaacd/engine.c
1307
iface->rdomain = imsg_ifinfo->rdomain;
sbin/slaacd/engine.c
1308
iface->running = imsg_ifinfo->running;
sbin/slaacd/engine.c
1309
iface->link_state = imsg_ifinfo->link_state;
sbin/slaacd/engine.c
1310
iface->autoconf = imsg_ifinfo->autoconf;
sbin/slaacd/engine.c
1311
iface->temporary = imsg_ifinfo->temporary;
sbin/slaacd/engine.c
1312
iface->soii = imsg_ifinfo->soii;
sbin/slaacd/engine.c
1313
memcpy(&iface->hw_address, &imsg_ifinfo->hw_address,
sbin/slaacd/engine.c
1315
memcpy(&iface->ll_address, &imsg_ifinfo->ll_address,
sbin/slaacd/engine.c
1317
memcpy(iface->soiikey, imsg_ifinfo->soiikey,
sbin/slaacd/engine.c
1318
sizeof(iface->soiikey));
sbin/slaacd/engine.c
1319
LIST_INIT(&iface->radvs);
sbin/slaacd/engine.c
1320
LIST_INSERT_HEAD(&slaacd_interfaces, iface, entries);
sbin/slaacd/engine.c
1321
LIST_INIT(&iface->addr_proposals);
sbin/slaacd/engine.c
1322
LIST_INIT(&iface->dfr_proposals);
sbin/slaacd/engine.c
1323
LIST_INIT(&iface->rdns_proposals);
sbin/slaacd/engine.c
1326
memcpy(&iface->ll_address, &imsg_ifinfo->ll_address,
sbin/slaacd/engine.c
1329
if (iface->autoconf != imsg_ifinfo->autoconf) {
sbin/slaacd/engine.c
1330
iface->autoconf = imsg_ifinfo->autoconf;
sbin/slaacd/engine.c
1334
if (iface->temporary != imsg_ifinfo->temporary) {
sbin/slaacd/engine.c
1335
iface->temporary = imsg_ifinfo->temporary;
sbin/slaacd/engine.c
1339
if (iface->soii != imsg_ifinfo->soii) {
sbin/slaacd/engine.c
1340
iface->soii = imsg_ifinfo->soii;
sbin/slaacd/engine.c
1344
if (memcmp(&iface->hw_address, &imsg_ifinfo->hw_address,
sbin/slaacd/engine.c
1346
memcpy(&iface->hw_address, &imsg_ifinfo->hw_address,
sbin/slaacd/engine.c
1351
if (memcmp(iface->soiikey, imsg_ifinfo->soiikey,
sbin/slaacd/engine.c
1352
sizeof(iface->soiikey)) != 0) {
sbin/slaacd/engine.c
1353
memcpy(iface->soiikey, imsg_ifinfo->soiikey,
sbin/slaacd/engine.c
1354
sizeof(iface->soiikey));
sbin/slaacd/engine.c
1358
if (imsg_ifinfo->running != iface->running) {
sbin/slaacd/engine.c
1359
iface->running = imsg_ifinfo->running;
sbin/slaacd/engine.c
1362
if (imsg_ifinfo->link_state != iface->link_state) {
sbin/slaacd/engine.c
1363
iface->link_state = imsg_ifinfo->link_state;
sbin/slaacd/engine.c
1371
if (iface->running && LINK_STATE_IS_UP(iface->link_state))
sbin/slaacd/engine.c
1372
iface_state_transition(iface, IF_INIT);
sbin/slaacd/engine.c
1375
iface_state_transition(iface, IF_DOWN);
sbin/slaacd/engine.c
1379
parse_ra(struct slaacd_iface *iface, struct imsg_ra *ra)
sbin/slaacd/engine.c
1577
update_iface_ra(iface, radv);
sbin/slaacd/engine.c
1585
gen_addr(struct slaacd_iface *iface, struct radv_prefix *prefix, struct
sbin/slaacd/engine.c
1615
} else if (iface->soii) {
sbin/slaacd/engine.c
1619
SHA512Update(&ctx, &iface->hw_address,
sbin/slaacd/engine.c
1620
sizeof(iface->hw_address));
sbin/slaacd/engine.c
1631
memcpy(&iid.s6_addr, &iface->ll_address.sin6_addr,
sbin/slaacd/engine.c
1861
void update_iface_ra(struct slaacd_iface *iface, struct radv *ra)
sbin/slaacd/engine.c
1866
if ((old_ra = find_ra(iface, &ra->from)) == NULL)
sbin/slaacd/engine.c
1867
LIST_INSERT_HEAD(&iface->radvs, ra, entries);
sbin/slaacd/engine.c
1874
update_iface_ra_dfr(iface, ra);
sbin/slaacd/engine.c
1881
update_iface_ra_prefix(iface, ra, prefix);
sbin/slaacd/engine.c
1884
update_iface_ra_rdns(iface, ra);
sbin/slaacd/engine.c
1888
update_iface_ra_dfr(struct slaacd_iface *iface, struct radv *ra)
sbin/slaacd/engine.c
1892
dfr_proposal = find_dfr_proposal_by_gw(iface, &ra->from);
sbin/slaacd/engine.c
1901
gen_dfr_proposal(iface, ra);
sbin/slaacd/engine.c
1927
log_debug("%s: iface %d: %s", __func__, iface->if_index,
sbin/slaacd/engine.c
1934
update_iface_ra_prefix(struct slaacd_iface *iface, struct radv *ra,
sbin/slaacd/engine.c
1943
if (!!iface->autoconf != !!iface->temporary) {
sbin/slaacd/engine.c
1949
LIST_FOREACH_SAFE (addr_proposal, &iface->addr_proposals,
sbin/slaacd/engine.c
1951
if ((!addr_proposal->temporary && !iface->autoconf) ||
sbin/slaacd/engine.c
1952
(addr_proposal->temporary && !iface->temporary))
sbin/slaacd/engine.c
1957
LIST_FOREACH(addr_proposal, &iface->addr_proposals, entries) {
sbin/slaacd/engine.c
1964
&iface->hw_address,
sbin/slaacd/engine.c
1968
if (memcmp(&addr_proposal->soiikey, &iface->soiikey,
sbin/slaacd/engine.c
2014
if (ra->mtu == iface->cur_mtu)
sbin/slaacd/engine.c
2018
iface->cur_mtu = ra->mtu;
sbin/slaacd/engine.c
2033
log_debug("%s: iface %d: %s", __func__, iface->if_index,
sbin/slaacd/engine.c
2039
if (!found && iface->autoconf && duplicate_found && iface->soii) {
sbin/slaacd/engine.c
2042
gen_address_proposal(iface, ra, prefix, 0);
sbin/slaacd/engine.c
2043
} else if (!found && iface->autoconf && (iface->soii ||
sbin/slaacd/engine.c
2046
gen_address_proposal(iface, ra, prefix, 0);
sbin/slaacd/engine.c
2049
if (!found_temporary && iface->temporary) {
sbin/slaacd/engine.c
2052
gen_address_proposal(iface, ra, prefix, 1);
sbin/slaacd/engine.c
2063
update_iface_ra_rdns(struct slaacd_iface *iface, struct radv *ra)
sbin/slaacd/engine.c
2070
rdns_proposal = find_rdns_proposal_by_gw(iface, &ra->from);
sbin/slaacd/engine.c
2075
gen_rdns_proposal(iface, ra);
sbin/slaacd/engine.c
2125
log_debug("%s: iface %d: %s", __func__, iface->if_index,
sbin/slaacd/engine.c
2136
struct slaacd_iface *iface;
sbin/slaacd/engine.c
2152
if ((iface = get_slaacd_iface_by_id(addr_proposal->if_index)) != NULL)
sbin/slaacd/engine.c
2153
iface_state_transition(iface, IF_BOUND);
sbin/slaacd/engine.c
2158
gen_address_proposal(struct slaacd_iface *iface, struct radv *ra, struct
sbin/slaacd/engine.c
2176
addr_proposal->if_index = iface->if_index;
sbin/slaacd/engine.c
2179
memcpy(&addr_proposal->hw_address, &iface->hw_address,
sbin/slaacd/engine.c
2181
memcpy(&addr_proposal->soiikey, &iface->soiikey,
sbin/slaacd/engine.c
2201
if (ra->mtu == iface->cur_mtu)
sbin/slaacd/engine.c
2205
iface->cur_mtu = ra->mtu;
sbin/slaacd/engine.c
2208
gen_addr(iface, prefix, addr_proposal, temporary);
sbin/slaacd/engine.c
2210
LIST_INSERT_HEAD(&iface->addr_proposals, addr_proposal, entries);
sbin/slaacd/engine.c
2214
log_debug("%s: iface %d: %s", __func__, iface->if_index, hbuf);
sbin/slaacd/engine.c
2252
gen_dfr_proposal(struct slaacd_iface *iface, struct radv *ra)
sbin/slaacd/engine.c
2267
dfr_proposal->if_index = iface->if_index;
sbin/slaacd/engine.c
2268
dfr_proposal->rdomain = iface->rdomain;
sbin/slaacd/engine.c
2274
LIST_INSERT_HEAD(&iface->dfr_proposals, dfr_proposal, entries);
sbin/slaacd/engine.c
2278
log_debug("%s: iface %d: %s", __func__, iface->if_index, hbuf);
sbin/slaacd/engine.c
2334
gen_rdns_proposal(struct slaacd_iface *iface, struct radv *ra)
sbin/slaacd/engine.c
2350
rdns_proposal->if_index = iface->if_index;
sbin/slaacd/engine.c
2351
rdns_proposal->rdomain = iface->rdomain;
sbin/slaacd/engine.c
2362
LIST_INSERT_HEAD(&iface->rdns_proposals, rdns_proposal, entries);
sbin/slaacd/engine.c
2363
compose_rdns_proposal(iface->if_index, iface->rdomain);
sbin/slaacd/engine.c
2366
log_debug("%s: iface %d: %s", __func__, iface->if_index, hbuf);
sbin/slaacd/engine.c
2373
struct slaacd_iface *iface;
sbin/slaacd/engine.c
2381
if ((iface = get_slaacd_iface_by_id(if_index)) != NULL) {
sbin/slaacd/engine.c
2382
LIST_FOREACH(rdns_proposal, &iface->rdns_proposals, entries) {
sbin/slaacd/engine.c
2434
struct slaacd_iface *iface = NULL;
sbin/slaacd/engine.c
2465
iface = get_slaacd_iface_by_id(addr_proposal->if_index);
sbin/slaacd/engine.c
2466
if (iface != NULL)
sbin/slaacd/engine.c
2467
ra = find_ra(iface, &addr_proposal->from);
sbin/slaacd/engine.c
2474
gen_address_proposal(iface, ra, prefix, 0);
sbin/slaacd/engine.c
2476
gen_address_proposal(iface, ra, prefix, 1);
sbin/slaacd/engine.c
2585
struct slaacd_iface *iface = (struct slaacd_iface *)arg;
sbin/slaacd/engine.c
2587
log_debug("%s[%d]: %s", __func__, iface->if_index,
sbin/slaacd/engine.c
2588
if_state_name(iface->state));
sbin/slaacd/engine.c
2590
switch (iface->state) {
sbin/slaacd/engine.c
2595
iface_state_transition(iface, IF_INIT);
sbin/slaacd/engine.c
2603
find_ra(struct slaacd_iface *iface, struct sockaddr_in6 *from)
sbin/slaacd/engine.c
2607
LIST_FOREACH (ra, &iface->radvs, entries) {
sbin/slaacd/engine.c
2617
find_address_proposal_by_addr(struct slaacd_iface *iface, struct sockaddr_in6
sbin/slaacd/engine.c
2622
LIST_FOREACH (addr_proposal, &iface->addr_proposals, entries) {
sbin/slaacd/engine.c
2631
find_dfr_proposal_by_gw(struct slaacd_iface *iface, struct sockaddr_in6
sbin/slaacd/engine.c
2636
LIST_FOREACH (dfr_proposal, &iface->dfr_proposals, entries) {
sbin/slaacd/engine.c
2645
find_rdns_proposal_by_gw(struct slaacd_iface *iface, struct sockaddr_in6
sbin/slaacd/engine.c
2650
LIST_FOREACH (rdns_proposal, &iface->rdns_proposals, entries) {
sbin/slaacd/engine.c
455
struct slaacd_iface *iface;
sbin/slaacd/engine.c
520
iface = get_slaacd_iface_by_id(ra.if_index);
sbin/slaacd/engine.c
527
if (iface != NULL && iface->state != IF_DOWN)
sbin/slaacd/engine.c
528
parse_ra(iface, &ra);
sbin/slaacd/engine.c
535
iface = get_slaacd_iface_by_id(if_index);
sbin/slaacd/engine.c
536
if (iface == NULL)
sbin/slaacd/engine.c
540
iface->last_sol.tv_sec = 0; /* no rate limit */
sbin/slaacd/engine.c
541
request_solicitation(iface);
sbin/slaacd/engine.c
549
iface = get_slaacd_iface_by_id(del_addr.if_index);
sbin/slaacd/engine.c
550
if (iface == NULL) {
sbin/slaacd/engine.c
556
addr_proposal = find_address_proposal_by_addr(iface,
sbin/slaacd/engine.c
572
iface = get_slaacd_iface_by_id(del_route.if_index);
sbin/slaacd/engine.c
573
if (iface == NULL) {
sbin/slaacd/engine.c
579
dfr_proposal = find_dfr_proposal_by_gw(iface,
sbin/slaacd/engine.c
592
iface = get_slaacd_iface_by_id(dup_addr.if_index);
sbin/slaacd/engine.c
593
if (iface == NULL) {
sbin/slaacd/engine.c
599
addr_proposal = find_address_proposal_by_addr(iface,
sbin/slaacd/engine.c
607
LIST_FOREACH (iface, &slaacd_interfaces, entries)
sbin/slaacd/engine.c
608
compose_rdns_proposal(iface->if_index,
sbin/slaacd/engine.c
609
iface->rdomain);
sbin/slaacd/engine.c
715
send_interface_info(struct slaacd_iface *iface, pid_t pid)
sbin/slaacd/engine.c
732
cei.if_index = iface->if_index;
sbin/slaacd/engine.c
733
cei.running = iface->running;
sbin/slaacd/engine.c
734
cei.autoconf = iface->autoconf;
sbin/slaacd/engine.c
735
cei.temporary = iface->temporary;
sbin/slaacd/engine.c
736
cei.soii = iface->soii;
sbin/slaacd/engine.c
737
memcpy(&cei.hw_address, &iface->hw_address, sizeof(struct ether_addr));
sbin/slaacd/engine.c
738
memcpy(&cei.ll_address, &iface->ll_address,
sbin/slaacd/engine.c
742
LIST_FOREACH(ra, &iface->radvs, entries) {
sbin/slaacd/engine.c
785
if (!LIST_EMPTY(&iface->addr_proposals))
sbin/slaacd/engine.c
789
LIST_FOREACH(addr_proposal, &iface->addr_proposals, entries) {
sbin/slaacd/engine.c
814
if (!LIST_EMPTY(&iface->dfr_proposals))
sbin/slaacd/engine.c
818
LIST_FOREACH(dfr_proposal, &iface->dfr_proposals, entries) {
sbin/slaacd/engine.c
843
if (!LIST_EMPTY(&iface->rdns_proposals))
sbin/slaacd/engine.c
847
LIST_FOREACH(rdns_proposal, &iface->rdns_proposals, entries) {
sbin/slaacd/engine.c
874
struct slaacd_iface *iface;
sbin/slaacd/engine.c
877
LIST_FOREACH (iface, &slaacd_interfaces, entries)
sbin/slaacd/engine.c
878
send_interface_info(iface, pid);
sbin/slaacd/engine.c
880
if ((iface = get_slaacd_iface_by_id(if_index)) != NULL)
sbin/slaacd/engine.c
881
send_interface_info(iface, pid);
sbin/slaacd/engine.c
891
struct slaacd_iface *iface;
sbin/slaacd/engine.c
892
LIST_FOREACH (iface, &slaacd_interfaces, entries) {
sbin/slaacd/engine.c
893
if (iface->if_index == if_index)
sbin/slaacd/engine.c
894
return (iface);
sbin/slaacd/engine.c
903
struct slaacd_iface *iface;
sbin/slaacd/engine.c
909
iface = get_slaacd_iface_by_id(if_index);
sbin/slaacd/engine.c
911
if (iface == NULL)
sbin/slaacd/engine.c
914
LIST_REMOVE(iface, entries);
sbin/slaacd/engine.c
915
while(!LIST_EMPTY(&iface->radvs)) {
sbin/slaacd/engine.c
916
ra = LIST_FIRST(&iface->radvs);
sbin/slaacd/engine.c
920
while(!LIST_EMPTY(&iface->addr_proposals)) {
sbin/slaacd/engine.c
921
addr_proposal = LIST_FIRST(&iface->addr_proposals);
sbin/slaacd/engine.c
924
while(!LIST_EMPTY(&iface->dfr_proposals)) {
sbin/slaacd/engine.c
925
dfr_proposal = LIST_FIRST(&iface->dfr_proposals);
sbin/slaacd/engine.c
928
while(!LIST_EMPTY(&iface->rdns_proposals)) {
sbin/slaacd/engine.c
929
rdns_proposal = LIST_FIRST(&iface->rdns_proposals);
sbin/slaacd/engine.c
932
compose_rdns_proposal(iface->if_index, iface->rdomain);
sbin/slaacd/engine.c
933
evtimer_del(&iface->timer);
sbin/slaacd/engine.c
934
free(iface);
sbin/slaacd/engine.c
964
iface_state_transition(struct slaacd_iface *iface, enum if_state new_state)
sbin/slaacd/engine.c
966
enum if_state old_state = iface->state;
sbin/slaacd/engine.c
971
iface->state = new_state;
sbin/slaacd/engine.c
976
LIST_FOREACH (addr_proposal, &iface->addr_proposals,
sbin/slaacd/engine.c
980
LIST_FOREACH (dfr_proposal, &iface->dfr_proposals,
sbin/slaacd/engine.c
984
LIST_FOREACH (rdns_proposal, &iface->rdns_proposals,
sbin/slaacd/engine.c
991
iface->timo.tv_sec = -1;
sbin/slaacd/engine.c
996
iface->probes++;
sbin/slaacd/engine.c
999
LIST_FOREACH (addr_proposal, &iface->addr_proposals,
sbin/slaacd/frontend.c
1006
struct iface *iface;
sbin/slaacd/frontend.c
101
LIST_HEAD(, iface) interfaces;
sbin/slaacd/frontend.c
1010
if ((iface = get_iface_by_id(if_index)) == NULL)
sbin/slaacd/frontend.c
1013
if (!event_initialized(&iface->icmp6ev->ev)) {
sbin/slaacd/frontend.c
1014
iface->send_solicitation = 1;
sbin/slaacd/frontend.c
1016
} else if (iface->ll_tentative) {
sbin/slaacd/frontend.c
1017
iface->send_solicitation = 1;
sbin/slaacd/frontend.c
1021
iface->send_solicitation = 0;
sbin/slaacd/frontend.c
1029
memcpy(&nd_opt_source_link_addr, &iface->hw_address,
sbin/slaacd/frontend.c
1032
if (sendmsg(EVENT_FD(&iface->icmp6ev->ev), &sndmhdr, 0) != sizeof(rs) +
sbin/slaacd/frontend.c
1037
struct iface*
sbin/slaacd/frontend.c
1040
struct iface *iface;
sbin/slaacd/frontend.c
1042
LIST_FOREACH (iface, &interfaces, entries) {
sbin/slaacd/frontend.c
1043
if (iface->if_index == if_index)
sbin/slaacd/frontend.c
1044
return (iface);
sbin/slaacd/frontend.c
1053
struct iface *iface;
sbin/slaacd/frontend.c
1055
iface = get_iface_by_id(if_index);
sbin/slaacd/frontend.c
1057
if (iface == NULL)
sbin/slaacd/frontend.c
1060
LIST_REMOVE(iface, entries);
sbin/slaacd/frontend.c
1062
unref_icmp6ev(iface);
sbin/slaacd/frontend.c
1063
free(iface);
sbin/slaacd/frontend.c
1069
struct iface *iface;
sbin/slaacd/frontend.c
1072
LIST_FOREACH (iface, &interfaces, entries) {
sbin/slaacd/frontend.c
1073
if (iface->rdomain == rdomain) {
sbin/slaacd/frontend.c
1074
icmp6ev = iface->icmp6ev;
sbin/slaacd/frontend.c
1102
unref_icmp6ev(struct iface *iface)
sbin/slaacd/frontend.c
1104
struct icmp6_ev *icmp6ev = iface->icmp6ev;
sbin/slaacd/frontend.c
1106
iface->icmp6ev = NULL;
sbin/slaacd/frontend.c
1121
struct iface *iface;
sbin/slaacd/frontend.c
1123
LIST_FOREACH (iface, &interfaces, entries) {
sbin/slaacd/frontend.c
1124
if (!event_initialized(&iface->icmp6ev->ev) && iface->rdomain
sbin/slaacd/frontend.c
1126
event_set(&iface->icmp6ev->ev, icmp6sock, EV_READ |
sbin/slaacd/frontend.c
1127
EV_PERSIST, icmp6_receive, iface->icmp6ev);
sbin/slaacd/frontend.c
1128
event_add(&iface->icmp6ev->ev, NULL);
sbin/slaacd/frontend.c
1143
LIST_FOREACH (iface, &interfaces, entries) {
sbin/slaacd/frontend.c
1144
if (event_initialized(&iface->icmp6ev->ev) &&
sbin/slaacd/frontend.c
1145
iface->send_solicitation)
sbin/slaacd/frontend.c
1146
send_solicitation(iface->if_index);
sbin/slaacd/frontend.c
506
struct iface *iface;
sbin/slaacd/frontend.c
524
iface = get_iface_by_id(if_index);
sbin/slaacd/frontend.c
526
if (iface != NULL) {
sbin/slaacd/frontend.c
527
if (iface->rdomain != ifrdomain) {
sbin/slaacd/frontend.c
528
unref_icmp6ev(iface);
sbin/slaacd/frontend.c
529
iface->rdomain = ifrdomain;
sbin/slaacd/frontend.c
530
iface->icmp6ev = get_icmp6ev_by_rdomain(ifrdomain);
sbin/slaacd/frontend.c
533
if ((iface = calloc(1, sizeof(*iface))) == NULL)
sbin/slaacd/frontend.c
535
iface->if_index = if_index;
sbin/slaacd/frontend.c
536
iface->rdomain = ifrdomain;
sbin/slaacd/frontend.c
537
iface->icmp6ev = get_icmp6ev_by_rdomain(ifrdomain);
sbin/slaacd/frontend.c
538
iface->ll_tentative = 1;
sbin/slaacd/frontend.c
540
LIST_INSERT_HEAD(&interfaces, iface, entries);
sbin/slaacd/frontend.c
570
memcpy(iface->hw_address.ether_addr_octet,
sbin/slaacd/frontend.c
589
if (!iface->ll_tentative)
sbin/slaacd/frontend.c
606
iface->ll_tentative = 0;
sbin/slaacd/frontend.c
607
if (iface->send_solicitation)
sbin/slaacd/frontend.c
609
iface->if_index);
sbin/slaacd/frontend.c
71
LIST_ENTRY(iface) entries;
sbin/slaacd/frontend.c
91
struct iface *get_iface_by_id(uint32_t);
sbin/slaacd/frontend.c
94
void unref_icmp6ev(struct iface *);
sys/arch/arm64/dev/apldc.c
504
uint8_t iface;
sys/arch/arm64/dev/apldc.c
532
uint8_t iface;
sys/arch/arm64/dev/apldc.c
553
uint8_t iface;
sys/arch/arm64/dev/apldc.c
582
apldchidev_handle_gpio_req(struct apldchidev_softc *sc, uint8_t iface,
sys/arch/arm64/dev/apldc.c
601
if (iface == sc->sc_iface_mt)
sys/arch/arm64/dev/apldc.c
603
else if (iface == sc->sc_iface_stm)
sys/arch/arm64/dev/apldc.c
618
sc->sc_gpio[sc->sc_ngpios].ag_iface = iface;
sys/arch/arm64/dev/apldc.c
626
apldchidev_handle_init(struct apldchidev_softc *sc, uint8_t iface,
sys/arch/arm64/dev/apldc.c
642
if (iface == sc->sc_iface_kbd &&
sys/arch/arm64/dev/apldc.c
646
} else if (iface == sc->sc_iface_mt &&
sys/arch/arm64/dev/apldc.c
650
} else if (iface == sc->sc_iface_stm &&
sys/arch/arm64/dev/apldc.c
657
apldchidev_handle_gpio_req(sc, iface,
sys/arch/arm64/dev/apldc.c
678
uint8_t iface;
sys/arch/arm64/dev/apldc.c
684
sc->sc_iface_kbd = ihdr->iface;
sys/arch/arm64/dev/apldc.c
685
apldchidev_handle_init(sc, ihdr->iface,
sys/arch/arm64/dev/apldc.c
689
sc->sc_iface_mt = ihdr->iface;
sys/arch/arm64/dev/apldc.c
690
apldchidev_handle_init(sc, ihdr->iface,
sys/arch/arm64/dev/apldc.c
694
sc->sc_iface_stm = ihdr->iface;
sys/arch/arm64/dev/apldc.c
695
apldchidev_handle_init(sc, ihdr->iface,
sys/arch/arm64/dev/apldc.c
700
iface = ihdr->unk1;
sys/arch/arm64/dev/apldc.c
701
if (iface == sc->sc_iface_stm)
sys/arch/arm64/dev/apldc.c
703
if (iface == sc->sc_iface_kbd)
sys/arch/arm64/dev/apldc.c
705
if (iface == sc->sc_iface_mt)
sys/arch/arm64/dev/apldc.c
711
cmd->iface == sc->sc_gpio[i].ag_iface &&
sys/arch/arm64/dev/apldc.c
722
sc->sc_dev.dv_xname, cmd->id, cmd->iface, cmd->cmd);
sys/arch/arm64/dev/apldc.c
783
if (hdr.iface != sc->sc_cmd_iface) {
sys/arch/arm64/dev/apldc.c
809
if (hdr.iface == MTP_IFACE_COMM)
sys/arch/arm64/dev/apldc.c
811
else if (hdr.iface == sc->sc_iface_kbd && sc->sc_kbd)
sys/arch/arm64/dev/apldc.c
813
else if (hdr.iface == sc->sc_iface_mt && sc->sc_mt)
sys/arch/arm64/dev/apldc.c
817
sc->sc_dev.dv_xname, hdr.iface);
sys/arch/arm64/dev/apldc.c
825
apldchidev_cmd(struct apldchidev_softc *sc, uint8_t iface, uint8_t flags,
sys/arch/arm64/dev/apldc.c
840
if (iface == MTP_IFACE_COMM)
sys/arch/arm64/dev/apldc.c
842
else if (iface == sc->sc_iface_kbd)
sys/arch/arm64/dev/apldc.c
844
else if (iface == sc->sc_iface_mt)
sys/arch/arm64/dev/apldc.c
846
else if (iface == sc->sc_iface_stm)
sys/arch/arm64/dev/apldc.c
848
hdr.iface = iface;
sys/arch/arm64/dev/apldc.c
849
sc->sc_cmd_iface = hdr.iface;
sys/arch/arm64/dev/apldc.c
893
apldchidev_enable(struct apldchidev_softc *sc, uint8_t iface)
sys/arch/arm64/dev/apldc.c
895
uint8_t cmd[2] = { MTP_CMD_ENABLE_INTERFACE, iface };
sys/arch/arm64/dev/apldc.c
905
apldchidev_reset(struct apldchidev_softc *sc, uint8_t iface, uint8_t state)
sys/arch/arm64/dev/apldc.c
907
uint8_t cmd[4] = { MTP_CMD_RESET_INTERFACE, 1, iface, state };
sys/arch/arm64/dev/apldc.c
919
apldchidev_send_firmware(struct apldchidev_softc *sc, int iface,
sys/arch/arm64/dev/apldc.c
967
cmd[3] = iface;
sys/dev/fdt/if_dwqe_fdt.c
428
uint32_t iface;
sys/dev/fdt/if_dwqe_fdt.c
451
iface = JH7110_PHY_INTF_RGMII;
sys/dev/fdt/if_dwqe_fdt.c
453
iface = JH7110_PHY_INTF_RMII;
sys/dev/fdt/if_dwqe_fdt.c
459
reg |= iface << shift;
sys/dev/fdt/if_dwqe_fdt.c
502
uint32_t iface;
sys/dev/fdt/if_dwqe_fdt.c
521
iface = RK3528_GMAC1_PHY_INTF_SEL_RGMII;
sys/dev/fdt/if_dwqe_fdt.c
524
iface = RK3528_GMAC1_PHY_INTF_SEL_RMII;
sys/dev/fdt/if_dwqe_fdt.c
552
regmap_write_4(rm, RK3528_VPU_GRF_GMAC_CON5, iface |
sys/dev/fdt/if_dwqe_fdt.c
618
uint32_t iface;
sys/dev/fdt/if_dwqe_fdt.c
630
iface = RK3568_GMAC_PHY_INTF_SEL_RGMII;
sys/dev/fdt/if_dwqe_fdt.c
633
iface = RK3568_GMAC_PHY_INTF_SEL_RMII;
sys/dev/fdt/if_dwqe_fdt.c
661
regmap_write_4(rm, RK3568_GRF_GMACx_CON1(fsc->sc_gmac_id), iface |
sys/dev/fdt/if_dwqe_fdt.c
818
uint32_t iface, clk;
sys/dev/fdt/if_dwqe_fdt.c
835
iface = RK3588_GMACx_PHY_INTF_SEL_RGMII(fsc->sc_gmac_id);
sys/dev/fdt/if_dwqe_fdt.c
845
iface = RK3588_GMACx_PHY_INTF_SEL_RMII(fsc->sc_gmac_id);
sys/dev/fdt/if_dwqe_fdt.c
873
regmap_write_4(php_rm, RK3588_PHP_GRF_GMAC_CON0, iface);
sys/dev/pv/vmt.c
1246
vmt_xdr_nic_entry(struct ifnet *iface, char *data)
sys/dev/pv/vmt.c
1261
sdl = iface->if_sadl;
sys/dev/pv/vmt.c
1276
TAILQ_FOREACH(iface_addr, &iface->if_addrlist, ifa_list) {
sys/dev/pv/vmt.c
1320
struct ifnet *iface;
sys/dev/pv/vmt.c
1335
TAILQ_FOREACH(iface, &ifnetlist, if_list) {
sys/dev/pv/vmt.c
1336
nictotal = vmt_xdr_nic_entry(iface, data);
sys/dev/pv/vmt.c
895
struct ifnet *iface;
sys/dev/pv/vmt.c
903
TAILQ_FOREACH(iface, &ifnetlist, if_list) {
sys/dev/pv/vmt.c
907
if (strncmp(iface->if_xname, "lo", 2) == 0 &&
sys/dev/pv/vmt.c
908
iface->if_xname[2] >= '0' &&
sys/dev/pv/vmt.c
909
iface->if_xname[2] <= '9') {
sys/dev/pv/vmt.c
913
TAILQ_FOREACH(iface_addr, &iface->if_addrlist,
sys/dev/usb/if_athn_usb.c
237
if (uaa->iface == NULL || uaa->configno != 1)
sys/dev/usb/if_athn_usb.c
252
usc->sc_iface = uaa->iface;
sys/dev/usb/if_atu.c
1102
if (uaa->iface == NULL || uaa->configno != ATU_CONFIG_NO)
sys/dev/usb/if_atu.c
1301
uaa->iface = sc->atu_iface;
sys/dev/usb/if_aue.c
684
if (uaa->iface == NULL || uaa->configno != 1)
sys/dev/usb/if_aue.c
705
struct usbd_interface *iface = uaa->iface;
sys/dev/usb/if_aue.c
722
sc->aue_iface = iface;
sys/dev/usb/if_aue.c
726
id = usbd_get_interface_descriptor(iface);
sys/dev/usb/if_aue.c
730
ed = usbd_interface2endpoint_descriptor(iface, i);
sys/dev/usb/if_axe.c
671
if (uaa->iface == NULL || uaa->configno != 1)
sys/dev/usb/if_axe.c
697
sc->axe_iface = uaa->iface;
sys/dev/usb/if_axen.c
589
if (uaa->iface == NULL || uaa->configno != 1)
sys/dev/usb/if_axen.c
612
sc->axen_iface = uaa->iface;
sys/dev/usb/if_bwfm_usb.c
221
if (uaa->iface == NULL || uaa->configno != 1)
sys/dev/usb/if_bwfm_usb.c
239
sc->sc_iface = uaa->iface;
sys/dev/usb/if_cdce.c
125
if (uaa->iface == NULL)
sys/dev/usb/if_cdce.c
128
id = usbd_get_interface_descriptor(uaa->iface);
sys/dev/usb/if_cdce.c
166
sc->cdce_ctl_iface = uaa->iface;
sys/dev/usb/if_cue.c
416
if (uaa->iface == NULL || uaa->configno != CUE_CONFIG_NO)
sys/dev/usb/if_cue.c
435
struct usbd_interface *iface;
sys/dev/usb/if_cue.c
453
err = usbd_device2interface_handle(dev, CUE_IFACE_IDX, &iface);
sys/dev/usb/if_cue.c
460
sc->cue_iface = iface;
sys/dev/usb/if_cue.c
461
id = usbd_get_interface_descriptor(iface);
sys/dev/usb/if_cue.c
465
ed = usbd_interface2endpoint_descriptor(iface, i);
sys/dev/usb/if_kue.c
392
if (uaa->iface != NULL)
sys/dev/usb/if_kue.c
406
struct usbd_interface *iface;
sys/dev/usb/if_kue.c
419
err = usbd_device2interface_handle(dev, KUE_IFACE_IDX, &iface);
sys/dev/usb/if_kue.c
426
sc->kue_iface = iface;
sys/dev/usb/if_kue.c
427
id = usbd_get_interface_descriptor(iface);
sys/dev/usb/if_kue.c
431
ed = usbd_interface2endpoint_descriptor(iface, i);
sys/dev/usb/if_mos.c
604
if (uaa->iface == NULL || uaa->configno != MOS_CONFIG_NO)
sys/dev/usb/if_mtw.c
231
if (uaa->iface == NULL || uaa->configno != 1)
sys/dev/usb/if_mtw.c
249
sc->sc_iface = uaa->iface;
sys/dev/usb/if_mue.c
692
if (uaa->iface == NULL || uaa->configno != 1)
sys/dev/usb/if_mue.c
711
sc->mue_iface = uaa->iface;
sys/dev/usb/if_otus.c
177
if (uaa->iface == NULL || uaa->configno != 1)
sys/dev/usb/if_ral.c
214
sc->sc_iface = uaa->iface;
sys/dev/usb/if_rsu.c
194
if (uaa->iface == NULL || uaa->configno != 1)
sys/dev/usb/if_rsu.c
211
sc->sc_iface = uaa->iface;
sys/dev/usb/if_rum.c
226
if (uaa->iface == NULL || uaa->configno != 1)
sys/dev/usb/if_rum.c
269
sc->sc_iface = uaa->iface;
sys/dev/usb/if_run.c
521
if (uaa->iface == NULL || uaa->configno != 1)
sys/dev/usb/if_run.c
541
sc->sc_iface = uaa->iface;
sys/dev/usb/if_smsc.c
946
if (uaa->iface == NULL || uaa->configno != 1)
sys/dev/usb/if_smsc.c
966
sc->sc_iface = uaa->iface;
sys/dev/usb/if_uaq.c
428
if (uaa->iface == NULL || uaa->configno != 1)
sys/dev/usb/if_uaq.c
446
sc->sc_iface = uaa->iface;
sys/dev/usb/if_uath.c
190
if (uaa->iface == NULL || uaa->configno != UATH_CONFIG_NO)
sys/dev/usb/if_udav.c
166
if (uaa->iface == NULL || uaa->configno != 1)
sys/dev/usb/if_udav.c
180
struct usbd_interface *iface = uaa->iface;
sys/dev/usb/if_udav.c
200
sc->sc_ctl_iface = iface;
sys/dev/usb/if_ugl.c
193
if (uaa->iface == NULL || uaa->configno != 1)
sys/dev/usb/if_ugl.c
207
struct usbd_interface *iface = uaa->iface;
sys/dev/usb/if_ugl.c
216
sc->sc_iface = iface;
sys/dev/usb/if_ugl.c
217
id = usbd_get_interface_descriptor(iface);
sys/dev/usb/if_ugl.c
221
ed = usbd_interface2endpoint_descriptor(iface, i);
sys/dev/usb/if_umb.c
320
if (!uaa->iface)
sys/dev/usb/if_umb.c
322
if ((id = usbd_get_interface_descriptor(uaa->iface)) == NULL)
sys/dev/usb/if_umb.c
332
id = usbd_find_idesc(uaa->device->cdesc, uaa->iface->index, 1);
sys/dev/usb/if_umb.c
417
uaa->iface = &uaa->device->ifaces[i];
sys/dev/usb/if_umb.c
418
uaa->ifaceno = uaa->iface->idesc->bInterfaceNumber;
sys/dev/usb/if_umb.c
512
id = usbd_get_interface_descriptor(uaa->iface);
sys/dev/usb/if_umb.c
516
usbd_set_interface(uaa->iface, 1);
sys/dev/usb/if_umb.c
518
id = usbd_get_interface_descriptor(uaa->iface);
sys/dev/usb/if_umb.c
521
ed = usbd_interface2endpoint_descriptor(uaa->iface, i);
sys/dev/usb/if_umb.c
592
if (usbd_open_pipe_intr(uaa->iface, ctrl_ep, USBD_SHORT_XFER_OK,
sys/dev/usb/if_upgt.c
180
if (uaa->iface == NULL || uaa->configno != UPGT_CONFIG_NO)
sys/dev/usb/if_upl.c
187
if (uaa->iface == NULL || uaa->configno != UPL_CONFIG_NO)
sys/dev/usb/if_upl.c
201
struct usbd_interface *iface;
sys/dev/usb/if_upl.c
212
err = usbd_device2interface_handle(dev, UPL_IFACE_IDX, &iface);
sys/dev/usb/if_upl.c
219
sc->sc_iface = iface;
sys/dev/usb/if_upl.c
220
id = usbd_get_interface_descriptor(iface);
sys/dev/usb/if_upl.c
224
ed = usbd_interface2endpoint_descriptor(iface, i);
sys/dev/usb/if_ure.c
2082
if (uaa->iface == NULL || uaa->configno != 1)
sys/dev/usb/if_ure.c
2102
sc->ure_iface = uaa->iface;
sys/dev/usb/if_url.c
163
if (uaa->iface == NULL || uaa->configno != URL_CONFIG_NO)
sys/dev/usb/if_url.c
176
struct usbd_interface *iface;
sys/dev/usb/if_url.c
195
err = usbd_device2interface_handle(dev, URL_IFACE_INDEX, &iface);
sys/dev/usb/if_url.c
202
sc->sc_ctl_iface = iface;
sys/dev/usb/if_urndis.c
1340
if (!uaa->iface)
sys/dev/usb/if_urndis.c
1343
id = usbd_get_interface_descriptor(uaa->iface);
sys/dev/usb/if_urndis.c
1373
id = usbd_get_interface_descriptor(uaa->iface);
sys/dev/usb/if_urndis.c
1380
if (uaa->ifaces[i] != uaa->iface) {
sys/dev/usb/if_urtw.c
582
if (uaa->iface == NULL || uaa->configno != 1)
sys/dev/usb/if_urtw.c
602
sc->sc_iface = uaa->iface;
sys/dev/usb/if_urtwn.c
436
if (uaa->iface == NULL || uaa->configno != 1)
sys/dev/usb/if_urtwn.c
452
sc->sc_iface = uaa->iface;
sys/dev/usb/if_wi_usb.c
258
if (uaa->iface == NULL || uaa->configno != 1)
sys/dev/usb/if_wi_usb.c
277
struct usbd_interface *iface = uaa->iface;
sys/dev/usb/if_wi_usb.c
289
sc->wi_usb_iface = iface;
sys/dev/usb/if_wi_usb.c
300
id = usbd_get_interface_descriptor(iface);
sys/dev/usb/if_wi_usb.c
304
ed = usbd_interface2endpoint_descriptor(iface, i);
sys/dev/usb/if_zyd.c
239
if (uaa->iface == NULL || uaa->configno != ZYD_CONFIG_NO)
sys/dev/usb/if_zyd.c
283
sc->sc_iface = uaa->iface;
sys/dev/usb/moscom.c
178
if (uaa->iface == NULL)
sys/dev/usb/moscom.c
240
uca.iface = sc->sc_iface;
sys/dev/usb/uark.c
105
if (uaa->iface == NULL)
sys/dev/usb/uark.c
167
uca.iface = sc->sc_iface;
sys/dev/usb/uaudio.c
2947
struct usbd_interface *iface;
sys/dev/usb/uaudio.c
2968
err = usbd_device2interface_handle(sc->udev, a->ifnum, &iface);
sys/dev/usb/uaudio.c
2972
err = usbd_set_interface(iface, 0);
sys/dev/usb/uaudio.c
2994
struct usbd_interface *iface;
sys/dev/usb/uaudio.c
3123
err = usbd_device2interface_handle(sc->udev, a->ifnum, &iface);
sys/dev/usb/uaudio.c
3129
err = usbd_set_interface(iface, a->altnum);
sys/dev/usb/uaudio.c
3179
err = usbd_open_pipe(iface, a->data_addr, 0, &s->data_pipe);
sys/dev/usb/uaudio.c
3186
err = usbd_open_pipe(iface, a->sync_addr, 0, &s->sync_pipe);
sys/dev/usb/uaudio.c
3882
if (arg->iface == NULL || arg->device == NULL)
sys/dev/usb/uaudio.c
3885
idesc = usbd_get_interface_descriptor(arg->iface);
sys/dev/usb/ubcmtp.c
380
if (uaa->iface == NULL)
sys/dev/usb/ubcmtp.c
400
id = usbd_get_interface_descriptor(uaa->iface);
sys/dev/usb/uberry.c
69
if (uaa->iface == NULL || uaa->configno != UBERRY_CONFIG_NO)
sys/dev/usb/ubsa.c
222
if (uaa->iface != NULL)
sys/dev/usb/ubsa.c
340
uca.iface = sc->sc_iface;
sys/dev/usb/uchcom.c
235
if (uaa->iface == NULL)
sys/dev/usb/uchcom.c
251
sc->sc_intr_iface = uaa->iface;
sys/dev/usb/uchcom.c
280
uca.iface = sc->sc_data_iface;
sys/dev/usb/ucom.c
193
sc->sc_iface = uca->iface;
sys/dev/usb/ucomvar.h
95
struct usbd_interface *iface;
sys/dev/usb/ucrcom.c
117
uca.iface = uaa->iface;
sys/dev/usb/ucrcom.c
58
if (uaa->iface == NULL)
sys/dev/usb/ucrcom.c
61
id = usbd_get_interface_descriptor(uaa->iface);
sys/dev/usb/ucrcom.c
85
id = usbd_get_interface_descriptor(uaa->iface);
sys/dev/usb/ucrcom.c
90
ed = usbd_interface2endpoint_descriptor(uaa->iface, i);
sys/dev/usb/ucycom.c
219
uca.iface = uaa->iface;
sys/dev/usb/udcf.c
139
if (uaa->iface == NULL)
sys/dev/usb/udcf.c
152
struct usbd_interface *iface;
sys/dev/usb/udcf.c
196
if ((err = usbd_device2interface_handle(dev, 0, &iface))) {
sys/dev/usb/udcf.c
202
sc->sc_iface = iface;
sys/dev/usb/udl.c
279
if (uaa->iface == NULL || uaa->configno != 1)
sys/dev/usb/udsbr.c
117
if (uaa->iface == NULL || uaa->configno != UDSBR_CONFIG_NO)
sys/dev/usb/uftdi.c
759
if (uaa->iface == NULL || uaa->configno != 1)
sys/dev/usb/uftdi.c
786
sc->sc_iface = uaa->iface;
sys/dev/usb/uftdi.c
841
if (uaa->iface == NULL)
sys/dev/usb/uftdi.c
849
uca.iface = sc->sc_iface;
sys/dev/usb/ugen.c
1038
ai->uai_interface_index, &iface);
sys/dev/usb/ugen.c
1041
idesc = usbd_get_interface_descriptor(iface);
sys/dev/usb/ugen.c
1051
ai->uai_interface_index, &iface);
sys/dev/usb/ugen.c
1374
ugen_clear_iface_eps(struct ugen_softc *sc, struct usbd_interface *iface)
sys/dev/usb/ugen.c
1390
id = usbd_get_interface_descriptor(iface);
sys/dev/usb/ugen.c
1395
ed = usbd_interface2endpoint_descriptor(iface, i);
sys/dev/usb/ugen.c
188
struct usbd_interface *iface;
sys/dev/usb/ugen.c
235
err = usbd_device2interface_handle(dev, ifaceno, &iface);
sys/dev/usb/ugen.c
238
id = usbd_get_interface_descriptor(iface);
sys/dev/usb/ugen.c
240
ed = usbd_interface2endpoint_descriptor(iface,endptno);
sys/dev/usb/ugen.c
250
sce->iface = iface;
sys/dev/usb/ugen.c
311
ugen_clear_iface_eps(sc, sce->iface);
sys/dev/usb/ugen.c
315
err = usbd_open_pipe(sce->iface,
sys/dev/usb/ugen.c
329
err = usbd_open_pipe_intr(sce->iface,
sys/dev/usb/ugen.c
344
err = usbd_open_pipe(sce->iface,
sys/dev/usb/ugen.c
364
err = usbd_open_pipe(sce->iface,
sys/dev/usb/ugen.c
73
struct usbd_interface *iface;
sys/dev/usb/ugen.c
903
struct usbd_interface *iface;
sys/dev/usb/ugen.c
918
err = usbd_device2interface_handle(sc->sc_udev, ifaceno, &iface);
sys/dev/usb/ugen.c
921
id = usbd_get_interface_descriptor(iface);
sys/dev/usb/ugen.c
923
ed = usbd_interface2endpoint_descriptor(iface,endptno);
sys/dev/usb/ugen.c
929
sce->iface = 0;
sys/dev/usb/ugen.c
933
err = usbd_set_interface(iface, altno);
sys/dev/usb/ugen.c
935
id = usbd_get_interface_descriptor(iface);
sys/dev/usb/ugen.c
937
ed = usbd_interface2endpoint_descriptor(iface,endptno);
sys/dev/usb/ugen.c
943
sce->iface = iface;
sys/dev/usb/ugen.c
951
struct usbd_interface *iface;
sys/dev/usb/ugen.c
954
err = usbd_device2interface_handle(sc->sc_udev, ifaceno, &iface);
sys/dev/usb/ugen.c
957
return (usbd_get_interface_altindex(iface));
sys/dev/usb/ugen.c
966
struct usbd_interface *iface;
sys/dev/usb/uhidev.c
114
if (uaa->iface == NULL)
sys/dev/usb/uhidev.c
116
id = usbd_get_interface_descriptor(uaa->iface);
sys/dev/usb/uhidev.c
169
sc->sc_iface = uaa->iface;
sys/dev/usb/uhub.c
104
if (uaa->iface == NULL)
sys/dev/usb/uhub.c
128
struct usbd_interface *iface = uaa->iface;
sys/dev/usb/uhub.c
236
ed = usbd_interface2endpoint_descriptor(iface, 0);
sys/dev/usb/uhub.c
251
err = usbd_open_pipe_intr(iface, ed->bEndpointAddress,
sys/dev/usb/uipaq.c
139
if (uaa->iface == NULL || uaa->configno != UIPAQ_CONFIG_NO)
sys/dev/usb/uipaq.c
155
struct usbd_interface *iface;
sys/dev/usb/uipaq.c
165
err = usbd_device2interface_handle(dev, UIPAQ_IFACE_INDEX, &iface);
sys/dev/usb/uipaq.c
174
id = usbd_get_interface_descriptor(iface);
sys/dev/usb/uipaq.c
177
sc->sc_iface = iface;
sys/dev/usb/uipaq.c
184
uca.iface = iface;
sys/dev/usb/uipaq.c
199
ed = usbd_interface2endpoint_descriptor(iface, i);
sys/dev/usb/ukbd.c
296
id = usbd_get_interface_descriptor(uha->uaa->iface);
sys/dev/usb/ukspan.c
134
struct usbd_interface *iface;
sys/dev/usb/ukspan.c
191
if (uaa->iface != NULL)
sys/dev/usb/ukspan.c
228
&sc->iface);
sys/dev/usb/ukspan.c
234
ed = usbd_get_endpoint_descriptor(sc->iface, UKSPAN_EA_BULKIN);
sys/dev/usb/ukspan.c
239
ed = usbd_get_endpoint_descriptor(sc->iface, UKSPAN_EA_BULKOUT);
sys/dev/usb/ukspan.c
244
ed = usbd_get_endpoint_descriptor(sc->iface, UKSPAN_EA_CONFIGIN);
sys/dev/usb/ukspan.c
251
ed = usbd_get_endpoint_descriptor(sc->iface, UKSPAN_EA_CONFIGOUT);
sys/dev/usb/ukspan.c
265
err = usbd_open_pipe(sc->iface, UKSPAN_EA_CONFIGOUT, USBD_EXCLUSIVE_USE,
sys/dev/usb/ukspan.c
272
err = usbd_open_pipe(sc->iface, UKSPAN_EA_CONFIGIN, USBD_EXCLUSIVE_USE,
sys/dev/usb/ukspan.c
298
uca.iface = sc->iface;
sys/dev/usb/ulpt.c
170
if (uaa->iface == NULL)
sys/dev/usb/ulpt.c
172
id = usbd_get_interface_descriptor(uaa->iface);
sys/dev/usb/ulpt.c
207
struct usbd_interface *iface = uaa->iface;
sys/dev/usb/ulpt.c
208
usb_interface_descriptor_t *ifcd = usbd_get_interface_descriptor(iface);
sys/dev/usb/ulpt.c
255
err = usbd_set_interface(iface, altno);
sys/dev/usb/ulpt.c
268
id = usbd_get_interface_descriptor(iface);
sys/dev/usb/ulpt.c
270
ed = usbd_interface2endpoint_descriptor(iface, i);
sys/dev/usb/ulpt.c
301
sc->sc_iface = iface;
sys/dev/usb/umass.c
254
if (uaa->iface == NULL)
sys/dev/usb/umass.c
261
id = usbd_get_interface_descriptor(uaa->iface);
sys/dev/usb/umass.c
303
sc->sc_iface = uaa->iface;
sys/dev/usb/umbg.c
151
if (uaa->iface == NULL)
sys/dev/usb/umbg.c
166
struct usbd_interface *iface = uaa->iface;
sys/dev/usb/umbg.c
206
if ((err = usbd_device2interface_handle(dev, 0, &iface))) {
sys/dev/usb/umbg.c
212
ed = usbd_interface2endpoint_descriptor(iface, 0);
sys/dev/usb/umbg.c
214
ed = usbd_interface2endpoint_descriptor(iface, 1);
sys/dev/usb/umbg.c
217
sc->sc_iface = iface;
sys/dev/usb/umcs.c
178
if (uaa->iface == NULL || uaa->ifaceno != UMCS_IFACE_NO)
sys/dev/usb/umcs.c
238
id = usbd_get_interface_descriptor(uaa->iface);
sys/dev/usb/umcs.c
241
ed = usbd_interface2endpoint_descriptor(uaa->iface, i);
sys/dev/usb/umcs.c
263
error = usbd_open_pipe_intr(uaa->iface, intr_addr,
sys/dev/usb/umcs.c
279
uca.iface = uaa->iface;
sys/dev/usb/umcs.c
293
ed = usbd_interface2endpoint_descriptor(uaa->iface, pn*2);
sys/dev/usb/umcs.c
302
ed = usbd_interface2endpoint_descriptor(uaa->iface, pn*2+1);
sys/dev/usb/umct.c
154
if (uaa->iface == NULL)
sys/dev/usb/umct.c
271
uca.iface = sc->sc_iface;
sys/dev/usb/umidi.c
147
if (uaa->iface == NULL)
sys/dev/usb/umidi.c
153
id = usbd_get_interface_descriptor(uaa->iface);
sys/dev/usb/umidi.c
172
sc->sc_iface = uaa->iface;
sys/dev/usb/umidi_quirks.c
367
p->vendor, p->product, p->iface));
sys/dev/usb/umidi_quirks.c
370
(p->iface==ifaceno || p->iface==ANYIFACE)) {
sys/dev/usb/umidi_quirks.h
51
int iface;
sys/dev/usb/umodem.c
223
if (uaa->iface == NULL)
sys/dev/usb/umodem.c
226
id = usbd_get_interface_descriptor(uaa->iface);
sys/dev/usb/umodem.c
271
sc->sc_ctl_iface = uaa->iface;
sys/dev/usb/umodem.c
376
uca.iface = sc->sc_data_iface;
sys/dev/usb/umsm.c
313
if (uaa->iface == NULL)
sys/dev/usb/umsm.c
325
id = usbd_get_interface_descriptor(uaa->iface);
sys/dev/usb/umsm.c
389
sc->sc_iface = uaa->iface;
sys/dev/usb/umsm.c
461
uca.iface = sc->sc_iface;
sys/dev/usb/uonerng.c
147
if (uaa->iface == NULL)
sys/dev/usb/uonerng.c
162
struct usbd_interface *iface = uaa->iface;
sys/dev/usb/uonerng.c
178
ONERNG_IFACE_CTRL_INDEX, &iface);
sys/dev/usb/uonerng.c
179
if (err || iface == NULL) {
sys/dev/usb/uonerng.c
184
id = usbd_get_interface_descriptor(iface);
sys/dev/usb/uow.c
101
if (uaa->iface == NULL || uaa->configno != DS2490_USB_CONFIG)
sys/dev/usb/uplcom.c
204
if (uaa->iface == NULL)
sys/dev/usb/uplcom.c
397
uca.iface = sc->sc_iface;
sys/dev/usb/urng.c
114
if (uaa->iface == NULL)
sys/dev/usb/urng.c
150
id = usbd_get_interface_descriptor(uaa->iface);
sys/dev/usb/urng.c
152
ed = usbd_interface2endpoint_descriptor(uaa->iface, i);
sys/dev/usb/urng.c
178
error = usbd_open_pipe(uaa->iface, ep_ibulk, USBD_EXCLUSIVE_USE,
sys/dev/usb/usb_subr.c
1375
usbd_get_location(struct usbd_device *dev, struct usbd_interface *iface,
sys/dev/usb/usb_subr.c
1391
if (iface == &dev->ifaces[i]) {
sys/dev/usb/usb_subr.c
789
usbd_setup_pipe(struct usbd_device *dev, struct usbd_interface *iface,
sys/dev/usb/usb_subr.c
796
dev, iface, ep, pipe));
sys/dev/usb/usb_subr.c
802
p->iface = iface;
sys/dev/usb/usb_subr.c
868
uaa.iface = NULL;
sys/dev/usb/usb_subr.c
942
uaa.iface = ifaces[i];
sys/dev/usb/usb_subr.c
976
uaa.iface = NULL;
sys/dev/usb/usbdi.c
1033
usbd_get_endpoint_descriptor(struct usbd_interface *iface, u_int8_t address)
sys/dev/usb/usbdi.c
1038
for (i = 0; i < iface->idesc->bNumEndpoints; i++) {
sys/dev/usb/usbdi.c
1039
ep = &iface->endpoints[i];
sys/dev/usb/usbdi.c
1041
return (iface->endpoints[i].edesc);
sys/dev/usb/usbdi.c
113
usbd_dump_iface(struct usbd_interface *iface)
sys/dev/usb/usbdi.c
115
printf("%s: iface=%p\n", __func__, iface);
sys/dev/usb/usbdi.c
116
if (iface == NULL)
sys/dev/usb/usbdi.c
119
iface->device, iface->idesc, iface->index, iface->altindex,
sys/dev/usb/usbdi.c
120
iface->priv);
sys/dev/usb/usbdi.c
164
usbd_dump_iface(pipe->iface);
sys/dev/usb/usbdi.c
175
usbd_open_pipe(struct usbd_interface *iface, u_int8_t address, u_int8_t flags,
sys/dev/usb/usbdi.c
178
return (usbd_open_pipe_ival(iface, address, flags, pipe,
sys/dev/usb/usbdi.c
183
usbd_open_pipe_ival(struct usbd_interface *iface, u_int8_t address,
sys/dev/usb/usbdi.c
192
iface, address, flags));
sys/dev/usb/usbdi.c
194
for (i = 0; i < iface->idesc->bNumEndpoints; i++) {
sys/dev/usb/usbdi.c
195
ep = &iface->endpoints[i];
sys/dev/usb/usbdi.c
205
err = usbd_setup_pipe(iface->device, iface, ep, ival, &p);
sys/dev/usb/usbdi.c
208
LIST_INSERT_HEAD(&iface->pipes, p, next);
sys/dev/usb/usbdi.c
214
usbd_open_pipe_intr(struct usbd_interface *iface, u_int8_t address,
sys/dev/usb/usbdi.c
225
err = usbd_open_pipe_ival(iface, address, USBD_EXCLUSIVE_USE, &ipipe,
sys/dev/usb/usbdi.c
229
xfer = usbd_alloc_xfer(iface->device);
sys/dev/usb/usbdi.c
267
if (pipe->iface != NULL)
sys/dev/usb/usbdi.c
524
usbd_get_interface_descriptor(struct usbd_interface *iface)
sys/dev/usb/usbdi.c
527
if (iface == NULL) {
sys/dev/usb/usbdi.c
532
return (iface->idesc);
sys/dev/usb/usbdi.c
542
usbd_interface2endpoint_descriptor(struct usbd_interface *iface, u_int8_t index)
sys/dev/usb/usbdi.c
544
if (index >= iface->idesc->bNumEndpoints)
sys/dev/usb/usbdi.c
546
return (iface->endpoints[index].edesc);
sys/dev/usb/usbdi.c
638
struct usbd_interface **iface)
sys/dev/usb/usbdi.c
645
*iface = &dev->ifaces[ifaceno];
sys/dev/usb/usbdi.c
656
*iface = &dev->ifaces[idx];
sys/dev/usb/usbdi.c
665
usbd_set_interface(struct usbd_interface *iface, int altno)
sys/dev/usb/usbdi.c
672
if (LIST_FIRST(&iface->pipes) != 0)
sys/dev/usb/usbdi.c
675
endpoints = iface->endpoints;
sys/dev/usb/usbdi.c
676
nendpt = iface->nendpt;
sys/dev/usb/usbdi.c
677
err = usbd_fill_iface_data(iface->device, iface->index, altno);
sys/dev/usb/usbdi.c
685
if (iface->idesc == NULL) {
sys/dev/usb/usbdi.c
693
USETW(req.wValue, iface->idesc->bAlternateSetting);
sys/dev/usb/usbdi.c
694
USETW(req.wIndex, iface->idesc->bInterfaceNumber);
sys/dev/usb/usbdi.c
696
return (usbd_do_request(iface->device, &req, 0));
sys/dev/usb/usbdi.c
718
usbd_get_interface_altindex(struct usbd_interface *iface)
sys/dev/usb/usbdi.c
720
return (iface->altindex);
sys/dev/usb/usbdi.c
822
pipe->iface != NULL) /* not control pipe */
sys/dev/usb/usbdi.h
107
struct usbd_interface *iface, u_int8_t address);
sys/dev/usb/usbdi.h
113
u_int8_t ifaceno, struct usbd_interface **iface);
sys/dev/usb/usbdi.h
117
usbd_status usbd_open_pipe_intr(struct usbd_interface *iface, u_int8_t address,
sys/dev/usb/usbdi.h
127
struct usbd_interface *iface);
sys/dev/usb/usbdi.h
137
int usbd_get_interface_altindex(struct usbd_interface *iface);
sys/dev/usb/usbdi.h
145
void usbd_set_polling(struct usbd_device *iface, int on);
sys/dev/usb/usbdi.h
151
struct usbd_interface *iface, u_int8_t address);
sys/dev/usb/usbdi.h
229
struct usbd_interface *iface; /* current interface */
sys/dev/usb/usbdi.h
89
usbd_status usbd_open_pipe(struct usbd_interface *iface, u_int8_t address,
sys/dev/usb/usbdivar.h
187
struct usbd_interface *iface;
sys/dev/usb/uscom.c
136
uca.iface = sc->sc_iface;
sys/dev/usb/uscom.c
74
if (uaa->iface == NULL)
sys/dev/usb/uslcom.c
277
if (uaa->iface == NULL)
sys/dev/usb/uslcom.c
296
sc->sc_iface = uaa->iface;
sys/dev/usb/uslcom.c
330
uca.iface = sc->sc_iface;
sys/dev/usb/uslhcom.c
179
uca.iface = uha->uaa->iface;
sys/dev/usb/usps.c
134
if (uaa->iface == NULL || uaa->configno != 1)
sys/dev/usb/uticom.c
191
if (uaa->iface != NULL)
sys/dev/usb/uticom.c
206
sc->sc_iface = uaa->iface;
sys/dev/usb/uticom.c
419
uca.iface = sc->sc_iface;
sys/dev/usb/utpms.c
272
id = usbd_get_interface_descriptor(uha->uaa->iface);
sys/dev/usb/uts.c
122
if (uaa->iface == NULL)
sys/dev/usb/uts.c
126
id = usbd_get_interface_descriptor(uaa->iface);
sys/dev/usb/utvfu.c
1071
if (sc->sc_audio.iface.pipeh != NULL) {
sys/dev/usb/utvfu.c
1096
&sc->sc_audio.iface.pipeh);
sys/dev/usb/utvfu.c
1153
if (sc->sc_audio.iface.pipeh != NULL) {
sys/dev/usb/utvfu.c
1154
usbd_abort_pipe(sc->sc_audio.iface.pipeh);
sys/dev/usb/utvfu.c
1158
usbd_close_pipe(sc->sc_audio.iface.pipeh);
sys/dev/usb/utvfu.c
1159
sc->sc_audio.iface.pipeh = NULL;
sys/dev/usb/utvfu.c
1201
if (sc->sc_audio.iface.pipeh == NULL)
sys/dev/usb/utvfu.c
1218
struct utvfu_as_iface *iface;
sys/dev/usb/utvfu.c
1224
iface = &sc->sc_audio.iface;
sys/dev/usb/utvfu.c
1228
iface->xfer,
sys/dev/usb/utvfu.c
1229
iface->pipeh,
sys/dev/usb/utvfu.c
1236
error = usbd_transfer(iface->xfer);
sys/dev/usb/utvfu.c
1244
usbd_get_xfer_status(iface->xfer, NULL, NULL, &actlen,
sys/dev/usb/utvfu.c
1491
if (sc->sc_audio.iface.xfer != NULL)
sys/dev/usb/utvfu.c
1609
sc->sc_audio.iface.xfer = xfer;
sys/dev/usb/utvfu.c
1634
if (sc->sc_audio.iface.xfer != NULL) {
sys/dev/usb/utvfu.c
1635
usbd_free_xfer(sc->sc_audio.iface.xfer);
sys/dev/usb/utvfu.c
1636
sc->sc_audio.iface.xfer = NULL;
sys/dev/usb/utvfu.c
2046
if (sc->sc_audio.iface.pipeh == NULL) {
sys/dev/usb/utvfu.c
624
src = KERNADDR(&sc->sc_audio.iface.xfer->dmabuf, 0);
sys/dev/usb/utvfu.c
867
if (uaa->iface == NULL)
sys/dev/usb/utvfu.h
132
struct utvfu_as_iface iface;
sys/dev/usb/uvideo.c
1528
uvideo_vs_parse_desc_alt(struct uvideo_softc *sc, int vs_nr, int iface, int numalts)
sys/dev/usb/uvideo.c
1563
if (id->bInterfaceNumber != iface)
sys/dev/usb/uvideo.c
1602
vs->ifaceh = &sc->sc_udev->ifaces[iface];
sys/dev/usb/uvideo.c
1607
vs->iface = iface;
sys/dev/usb/uvideo.c
1656
if (id->bInterfaceNumber != sc->sc_vs_cur->iface)
sys/dev/usb/uvideo.c
1973
USETW(req.wIndex, sc->sc_vs_cur->iface);
sys/dev/usb/uvideo.c
2019
USETW(req.wIndex, sc->sc_vs_cur->iface);
sys/dev/usb/uvideo.c
2106
USETW(req.wIndex, sc->sc_vs_cur->iface);
sys/dev/usb/uvideo.c
524
if (uaa->iface == NULL)
sys/dev/usb/uvideo.c
527
id = usbd_get_interface_descriptor(uaa->iface);
sys/dev/usb/uvideo.c
923
int i, iface, numalts;
sys/dev/usb/uvideo.c
978
iface = sc->sc_desc_vc_header.baInterfaceNr[i];
sys/dev/usb/uvideo.c
980
id = usbd_get_interface_descriptor(&sc->sc_udev->ifaces[iface]);
sys/dev/usb/uvideo.c
983
DEVNAME(sc), iface);
sys/dev/usb/uvideo.c
986
usbd_claim_iface(sc->sc_udev, iface);
sys/dev/usb/uvideo.c
994
error = uvideo_vs_parse_desc_alt(sc, i, iface, numalts);
sys/dev/usb/uvideo.h
635
int iface;
sys/dev/usb/uvisor.c
209
if (uaa->iface == NULL)
sys/dev/usb/uvisor.c
225
struct usbd_interface *iface;
sys/dev/usb/uvisor.c
236
err = usbd_device2interface_handle(dev, UVISOR_IFACE_INDEX, &iface);
sys/dev/usb/uvisor.c
252
id = usbd_get_interface_descriptor(iface);
sys/dev/usb/uvisor.c
255
sc->sc_iface = iface;
sys/dev/usb/uvisor.c
262
uca.iface = iface;
sys/dev/usb/uvisor.c
305
ed = usbd_interface2endpoint_descriptor(iface, j);
sys/dev/usb/uvscom.c
211
if (uaa->iface == NULL)
sys/dev/usb/uvscom.c
315
uca.iface = sc->sc_iface;
sys/dev/usb/uxrcom.c
113
if (uaa->iface == NULL)
sys/dev/usb/uxrcom.c
135
sc->sc_intr_iface = uaa->iface;
sys/dev/usb/uxrcom.c
194
uca.iface = sc->sc_data_iface;
usr.sbin/arp/arp.c
73
int wake(const char *ether_addr, const char *iface);
usr.sbin/arp/arp.c
800
wake(const char *ether_addr, const char *iface)
usr.sbin/arp/arp.c
809
if (iface == NULL) {
usr.sbin/arp/arp.c
833
do_wakeup(ether_addr, iface, bpf);
usr.sbin/arp/arp.c
842
do_wakeup(const char *eaddr, const char *iface, int bpf)
usr.sbin/arp/arp.c
848
if (bind_if_to_bpf(iface, bpf) != 0)
usr.sbin/arp/arp.c
849
errx(1, "Failed to bind %s to bpf.", iface);
usr.sbin/arp/arp.c
851
errx(1, "Failed to send WoL frame on %s", iface);
usr.sbin/bgpctl/bgpctl.c
465
struct ctl_show_interface iface;
usr.sbin/bgpctl/bgpctl.c
496
if (imsg_get_data(imsg, &iface, sizeof(iface)) == -1)
usr.sbin/bgpctl/bgpctl.c
498
output->interface(&iface);
usr.sbin/bgpctl/output.c
638
if (nh->iface.ifname[0]) {
usr.sbin/bgpctl/output.c
639
printf("%s (%s, %s)", nh->iface.ifname,
usr.sbin/bgpctl/output.c
640
nh->iface.is_up ? "UP" : "DOWN",
usr.sbin/bgpctl/output.c
641
nh->iface.baudrate ?
usr.sbin/bgpctl/output.c
642
get_baudrate(nh->iface.baudrate, "bps") :
usr.sbin/bgpctl/output.c
643
nh->iface.linkstate);
usr.sbin/bgpctl/output.c
649
show_interface(struct ctl_show_interface *iface)
usr.sbin/bgpctl/output.c
651
printf("%-15s", iface->ifname);
usr.sbin/bgpctl/output.c
652
printf("%-9u", iface->rdomain);
usr.sbin/bgpctl/output.c
653
printf("%-9s", iface->nh_reachable ? "ok" : "invalid");
usr.sbin/bgpctl/output.c
654
printf("%-7s", iface->is_up ? "UP" : "");
usr.sbin/bgpctl/output.c
656
if (iface->media[0])
usr.sbin/bgpctl/output.c
657
printf("%s, ", iface->media);
usr.sbin/bgpctl/output.c
658
printf("%s", iface->linkstate);
usr.sbin/bgpctl/output.c
660
if (iface->baudrate > 0)
usr.sbin/bgpctl/output.c
661
printf(", %s", get_baudrate(iface->baudrate, "Bit/s"));
usr.sbin/bgpctl/output_json.c
433
json_do_interface(struct ctl_show_interface *iface)
usr.sbin/bgpctl/output_json.c
437
json_do_string("name", iface->ifname);
usr.sbin/bgpctl/output_json.c
438
json_do_uint("rdomain", iface->rdomain);
usr.sbin/bgpctl/output_json.c
439
json_do_bool("is_up", iface->is_up);
usr.sbin/bgpctl/output_json.c
440
json_do_bool("nh_reachable", iface->nh_reachable);
usr.sbin/bgpctl/output_json.c
442
if (iface->media[0])
usr.sbin/bgpctl/output_json.c
443
json_do_string("media", iface->media);
usr.sbin/bgpctl/output_json.c
445
json_do_string("linkstate", iface->linkstate);
usr.sbin/bgpctl/output_json.c
446
if (iface->baudrate > 0)
usr.sbin/bgpctl/output_json.c
447
json_do_uint("baudrate", iface->baudrate);
usr.sbin/bgpctl/output_json.c
470
if (nh->iface.ifname[0])
usr.sbin/bgpctl/output_json.c
471
json_do_interface(&nh->iface);
usr.sbin/bgpctl/output_json.c
478
json_interface(struct ctl_show_interface *iface)
usr.sbin/bgpctl/output_json.c
481
json_do_interface(iface);
usr.sbin/bgpd/bgpd.h
906
struct ctl_show_interface iface;
usr.sbin/bgpd/kroute.c
1006
memcpy(&snh.iface,
usr.sbin/bgpd/kroute.c
1008
sizeof(snh.iface));
usr.sbin/bgpd/kroute.c
867
static struct ctl_show_interface iface;
usr.sbin/bgpd/kroute.c
870
memset(&iface, 0, sizeof(iface));
usr.sbin/bgpd/kroute.c
871
strlcpy(iface.ifname, kif->ifname, sizeof(iface.ifname));
usr.sbin/bgpd/kroute.c
873
snprintf(iface.linkstate, sizeof(iface.linkstate),
usr.sbin/bgpd/kroute.c
877
snprintf(iface.media, sizeof(iface.media),
usr.sbin/bgpd/kroute.c
880
iface.baudrate = kif->baudrate;
usr.sbin/bgpd/kroute.c
881
iface.rdomain = kif->rdomain;
usr.sbin/bgpd/kroute.c
882
iface.nh_reachable = kif->nh_reachable;
usr.sbin/bgpd/kroute.c
883
iface.is_up = (kif->flags & IFF_UP) == IFF_UP;
usr.sbin/bgpd/kroute.c
885
return &iface;
usr.sbin/dhcpd/sync.c
116
sync_init(const char *iface, const char *baddr, u_short port)
usr.sbin/dhcpd/sync.c
127
if (iface != NULL)
usr.sbin/dhcpd/sync.c
134
if (iface == NULL)
usr.sbin/dhcpd/sync.c
135
iface = baddr;
usr.sbin/dhcpd/sync.c
136
else if (iface != NULL && strcmp(baddr, iface) != 0) {
usr.sbin/dhcpd/sync.c
166
if (baddr == NULL && iface == NULL)
usr.sbin/dhcpd/sync.c
175
if (iface == NULL)
usr.sbin/dhcpd/sync.c
178
strlcpy(ifnam, iface, sizeof(ifnam));
usr.sbin/dhcpd/udpsock.c
117
memset(&iface, 0, sizeof(iface));
usr.sbin/dhcpd/udpsock.c
155
iface.is_udpsock = 1;
usr.sbin/dhcpd/udpsock.c
156
iface.send_packet = udpsock_send_packet;
usr.sbin/dhcpd/udpsock.c
157
iface.wfdesc = udpsock->sock;
usr.sbin/dhcpd/udpsock.c
158
iface.ifp = 𝔦
usr.sbin/dhcpd/udpsock.c
159
iface.index = sdl->sdl_index;
usr.sbin/dhcpd/udpsock.c
160
iface.primary_address =
usr.sbin/dhcpd/udpsock.c
162
strlcpy(iface.name, ifname, sizeof(iface.name));
usr.sbin/dhcpd/udpsock.c
165
memcpy(&addr.iabuf, &iface.primary_address, addr.len);
usr.sbin/dhcpd/udpsock.c
169
iface.shared_network = subnet->shared_network ;
usr.sbin/dhcpd/udpsock.c
172
do_packet(&iface, packet, len, sin4->sin_port, from, &hw);
usr.sbin/dhcpd/udpsock.c
97
struct interface_info iface;
usr.sbin/dvmrpctl/dvmrpctl.c
262
struct ctl_iface *iface;
usr.sbin/dvmrpctl/dvmrpctl.c
267
iface = imsg->data;
usr.sbin/dvmrpctl/dvmrpctl.c
269
if (asprintf(&netid, "%s/%d", inet_ntoa(iface->addr),
usr.sbin/dvmrpctl/dvmrpctl.c
270
mask2prefixlen(iface->mask.s_addr)) == -1)
usr.sbin/dvmrpctl/dvmrpctl.c
273
iface->name, netid, if_state_name(iface->state),
usr.sbin/dvmrpctl/dvmrpctl.c
274
iface->probe_timer == 0 ? "00:00:00" :
usr.sbin/dvmrpctl/dvmrpctl.c
275
fmt_timeframe_core(iface->probe_timer),
usr.sbin/dvmrpctl/dvmrpctl.c
276
get_linkstate(iface->if_type, iface->linkstate),
usr.sbin/dvmrpctl/dvmrpctl.c
277
iface->uptime == 0 ? "00:00:00" :
usr.sbin/dvmrpctl/dvmrpctl.c
278
fmt_timeframe_core(iface->uptime), iface->group_cnt);
usr.sbin/dvmrpctl/dvmrpctl.c
294
struct ctl_iface *iface;
usr.sbin/dvmrpctl/dvmrpctl.c
298
iface = imsg->data;
usr.sbin/dvmrpctl/dvmrpctl.c
302
iface->name, print_link(iface->flags));
usr.sbin/dvmrpctl/dvmrpctl.c
304
inet_ntoa(iface->addr),
usr.sbin/dvmrpctl/dvmrpctl.c
305
mask2prefixlen(iface->mask.s_addr));
usr.sbin/dvmrpctl/dvmrpctl.c
307
get_linkstate(iface->if_type, iface->linkstate));
usr.sbin/dvmrpctl/dvmrpctl.c
309
if_type_name(iface->type), iface->metric);
usr.sbin/dvmrpctl/dvmrpctl.c
310
printf(" State %s, querier ", if_state_name(iface->state));
usr.sbin/dvmrpctl/dvmrpctl.c
311
if (iface->state == IF_STA_QUERIER)
usr.sbin/dvmrpctl/dvmrpctl.c
312
printf("%s\n", inet_ntoa(iface->addr));
usr.sbin/dvmrpctl/dvmrpctl.c
314
printf("%s\n", inet_ntoa(iface->querier));
usr.sbin/dvmrpctl/dvmrpctl.c
315
printf(" Generation ID %d\n", iface->gen_id);
usr.sbin/dvmrpctl/dvmrpctl.c
317
"probe %d, dead %d\n", iface->probe_interval,
usr.sbin/dvmrpctl/dvmrpctl.c
318
iface->dead_interval);
usr.sbin/dvmrpctl/dvmrpctl.c
319
if (iface->passive)
usr.sbin/dvmrpctl/dvmrpctl.c
321
else if (iface->probe_timer < 0)
usr.sbin/dvmrpctl/dvmrpctl.c
325
fmt_timeframe_core(iface->probe_timer));
usr.sbin/dvmrpctl/dvmrpctl.c
326
printf(" Uptime %s\n", iface->uptime == 0 ?
usr.sbin/dvmrpctl/dvmrpctl.c
327
"00:00:00" : fmt_timeframe_core(iface->uptime));
usr.sbin/dvmrpctl/dvmrpctl.c
329
"%d\n", iface->adj_cnt);
usr.sbin/dvmrpctl/dvmrpctl.c
344
struct ctl_iface *iface;
usr.sbin/dvmrpctl/dvmrpctl.c
350
iface = imsg->data;
usr.sbin/dvmrpctl/dvmrpctl.c
351
if (asprintf(&netid, "%s/%d", inet_ntoa(iface->addr),
usr.sbin/dvmrpctl/dvmrpctl.c
352
mask2prefixlen(iface->mask.s_addr)) == -1)
usr.sbin/dvmrpctl/dvmrpctl.c
355
iface->name, netid, if_state_name(iface->state),
usr.sbin/dvmrpctl/dvmrpctl.c
356
iface->group_cnt);
usr.sbin/dvmrpd/ask_nbrs2.c
35
send_ask_nbrs2(struct iface *iface, struct in_addr addr, void *data, int len)
usr.sbin/dvmrpd/ask_nbrs2.c
42
iface->name, inet_ntoa(addr));
usr.sbin/dvmrpd/ask_nbrs2.c
44
if (iface->passive)
usr.sbin/dvmrpd/ask_nbrs2.c
47
if ((buf = ibuf_open(iface->mtu - sizeof(struct ip))) == NULL)
usr.sbin/dvmrpd/ask_nbrs2.c
51
if (gen_dvmrp_hdr(buf, iface, DVMRP_CODE_GRAFT_ACK))
usr.sbin/dvmrpd/ask_nbrs2.c
58
ret = send_packet(iface, buf, &dst);
usr.sbin/dvmrpd/dvmrpd.c
273
struct iface *iface;
usr.sbin/dvmrpd/dvmrpd.c
286
LIST_FOREACH(iface, &conf->iface_list, entry) {
usr.sbin/dvmrpd/dvmrpd.c
287
if_del(iface);
usr.sbin/dvmrpd/dvmrpd.h
141
struct iface *iface;
usr.sbin/dvmrpd/dvmrpd.h
176
LIST_ENTRY(iface) entry;
usr.sbin/dvmrpd/dvmrpd.h
240
LIST_HEAD(, iface) iface_list;
usr.sbin/dvmrpd/dvmrpd.h
392
int mrt_add_vif(int, struct iface *);
usr.sbin/dvmrpd/dvmrpd.h
393
void mrt_del_vif(int, struct iface *);
usr.sbin/dvmrpd/dvmrpd.h
407
struct iface *if_find_index(u_short);
usr.sbin/dvmrpd/dvmrpe.c
173
LIST_FOREACH(iface, &deconf->iface_list, entry) {
usr.sbin/dvmrpd/dvmrpe.c
174
if_init(xconf, iface);
usr.sbin/dvmrpd/dvmrpe.c
175
if (if_fsm(iface, IF_EVT_UP)) {
usr.sbin/dvmrpd/dvmrpe.c
176
log_debug("error starting interface %s", iface->name);
usr.sbin/dvmrpd/dvmrpe.c
193
struct iface *iface;
usr.sbin/dvmrpd/dvmrpe.c
204
LIST_FOREACH(iface, &deconf->iface_list, entry) {
usr.sbin/dvmrpd/dvmrpe.c
205
if (if_fsm(iface, IF_EVT_DOWN)) {
usr.sbin/dvmrpd/dvmrpe.c
207
iface->name);
usr.sbin/dvmrpd/dvmrpe.c
209
if_del(iface);
usr.sbin/dvmrpd/dvmrpe.c
241
struct iface *iface;
usr.sbin/dvmrpd/dvmrpe.c
275
LIST_FOREACH(iface, &deconf->iface_list, entry) {
usr.sbin/dvmrpd/dvmrpe.c
276
if (kif->ifindex == iface->ifindex) {
usr.sbin/dvmrpd/dvmrpe.c
277
iface->flags = kif->flags;
usr.sbin/dvmrpd/dvmrpe.c
278
iface->linkstate = kif->link_state;
usr.sbin/dvmrpd/dvmrpe.c
281
if_fsm(iface, IF_EVT_UP);
usr.sbin/dvmrpd/dvmrpe.c
283
iface->name);
usr.sbin/dvmrpd/dvmrpe.c
285
if_fsm(iface, IF_EVT_DOWN);
usr.sbin/dvmrpd/dvmrpe.c
287
iface->name);
usr.sbin/dvmrpd/dvmrpe.c
316
struct iface *iface;
usr.sbin/dvmrpd/dvmrpe.c
362
LIST_FOREACH(iface, &deconf->iface_list,
usr.sbin/dvmrpd/dvmrpe.c
364
if (!if_nbr_list_empty(iface))
usr.sbin/dvmrpd/dvmrpe.c
365
rr_list_add(&iface->rr_list,
usr.sbin/dvmrpd/dvmrpe.c
382
LIST_FOREACH(iface, &deconf->iface_list,
usr.sbin/dvmrpd/dvmrpe.c
384
rr_list_send(&iface->rr_list,
usr.sbin/dvmrpd/dvmrpe.c
385
iface, NULL);
usr.sbin/dvmrpd/dvmrpe.c
399
LIST_FOREACH(iface, &deconf->iface_list, entry)
usr.sbin/dvmrpd/dvmrpe.c
400
if (p.ifindex == iface->ifindex)
usr.sbin/dvmrpd/dvmrpe.c
403
if (iface == NULL)
usr.sbin/dvmrpd/dvmrpe.c
406
nbr = nbr_find_ip(iface, p.nexthop.s_addr);
usr.sbin/dvmrpd/dvmrpe.c
422
LIST_FOREACH(iface, &deconf->iface_list, entry) {
usr.sbin/dvmrpd/dvmrpe.c
423
if (!if_nbr_list_empty(iface)) {
usr.sbin/dvmrpd/dvmrpe.c
424
rr_list_add(&iface->rr_list, rr);
usr.sbin/dvmrpd/dvmrpe.c
425
rr_list_send(&iface->rr_list, iface,
usr.sbin/dvmrpd/dvmrpe.c
439
LIST_FOREACH(iface, &deconf->iface_list, entry) {
usr.sbin/dvmrpd/dvmrpe.c
440
if (iface->ifindex == rr->ifindex)
usr.sbin/dvmrpd/dvmrpe.c
442
if (!if_nbr_list_empty(iface)) {
usr.sbin/dvmrpd/dvmrpe.c
443
rr_list_add(&iface->rr_list, rr);
usr.sbin/dvmrpd/dvmrpe.c
444
rr_list_send(&iface->rr_list, iface,
usr.sbin/dvmrpd/dvmrpe.c
468
struct iface *iface;
usr.sbin/dvmrpd/dvmrpe.c
471
LIST_FOREACH(iface, &deconf->iface_list, entry)
usr.sbin/dvmrpd/dvmrpe.c
472
if (idx == 0 || idx == iface->ifindex) {
usr.sbin/dvmrpd/dvmrpe.c
473
ictl = if_to_ctl(iface);
usr.sbin/dvmrpd/dvmrpe.c
482
struct iface *iface;
usr.sbin/dvmrpd/dvmrpe.c
485
LIST_FOREACH(iface, &deconf->iface_list, entry)
usr.sbin/dvmrpd/dvmrpe.c
486
if (idx == 0 || idx == iface->ifindex) {
usr.sbin/dvmrpd/dvmrpe.c
487
ictl = if_to_ctl(iface);
usr.sbin/dvmrpd/dvmrpe.c
490
group_list_dump(iface, c);
usr.sbin/dvmrpd/dvmrpe.c
498
struct iface *iface;
usr.sbin/dvmrpd/dvmrpe.c
502
LIST_FOREACH(iface, &deconf->iface_list, entry)
usr.sbin/dvmrpd/dvmrpe.c
503
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/dvmrpd/dvmrpe.c
71
struct iface *iface = NULL;
usr.sbin/dvmrpd/dvmrpe.h
104
int send_graft(struct iface *, struct in_addr, void *, int);
usr.sbin/dvmrpd/dvmrpe.h
108
int send_graft_ack(struct iface *, struct in_addr, void *, int);
usr.sbin/dvmrpd/dvmrpe.h
116
int send_igmp_query(struct iface *, struct group *group);
usr.sbin/dvmrpd/dvmrpe.h
117
void recv_igmp_query(struct iface *, struct in_addr, char *, u_int16_t);
usr.sbin/dvmrpd/dvmrpe.h
118
void recv_igmp_report(struct iface *, struct in_addr, char *, u_int16_t,
usr.sbin/dvmrpd/dvmrpe.h
120
void recv_igmp_leave(struct iface *, struct in_addr, char *, u_int16_t);
usr.sbin/dvmrpd/dvmrpe.h
122
struct group *group_list_add(struct iface *, u_int32_t);
usr.sbin/dvmrpd/dvmrpe.h
123
void group_list_remove(struct iface *, struct group *);
usr.sbin/dvmrpd/dvmrpe.h
124
struct group *group_list_find(struct iface *, u_int32_t);
usr.sbin/dvmrpd/dvmrpe.h
125
void group_list_clr(struct iface *);
usr.sbin/dvmrpd/dvmrpe.h
126
int group_list_empty(struct iface *);
usr.sbin/dvmrpd/dvmrpe.h
127
void group_list_dump(struct iface *, struct ctl_conn *);
usr.sbin/dvmrpd/dvmrpe.h
133
int if_fsm(struct iface *, enum iface_event);
usr.sbin/dvmrpd/dvmrpe.h
134
struct iface *if_new(struct kif *);
usr.sbin/dvmrpd/dvmrpe.h
135
int if_del(struct iface *);
usr.sbin/dvmrpd/dvmrpe.h
136
int if_nbr_list_empty(struct iface *);
usr.sbin/dvmrpd/dvmrpe.h
137
void if_init(struct dvmrpd_conf *, struct iface *);
usr.sbin/dvmrpd/dvmrpe.h
147
int if_join_group(struct iface *, struct in_addr *);
usr.sbin/dvmrpd/dvmrpe.h
148
int if_leave_group(struct iface *, struct in_addr *);
usr.sbin/dvmrpd/dvmrpe.h
149
int if_set_mcast(struct iface *);
usr.sbin/dvmrpd/dvmrpe.h
151
struct ctl_iface *if_to_ctl(struct iface *);
usr.sbin/dvmrpd/dvmrpe.h
154
int send_nbrs2(struct iface *, struct in_addr, void *, int);
usr.sbin/dvmrpd/dvmrpe.h
159
struct nbr *nbr_new(u_int32_t, struct iface *, int);
usr.sbin/dvmrpd/dvmrpe.h
162
struct nbr *nbr_find_ip(struct iface *, u_int32_t);
usr.sbin/dvmrpd/dvmrpe.h
185
int gen_dvmrp_hdr(struct ibuf *, struct iface *, u_int8_t);
usr.sbin/dvmrpd/dvmrpe.h
186
int send_packet(struct iface *, struct ibuf *,
usr.sbin/dvmrpd/dvmrpe.h
191
int send_probe(struct iface *);
usr.sbin/dvmrpd/dvmrpe.h
192
void recv_probe(struct iface *, struct in_addr, u_int32_t, u_int8_t,
usr.sbin/dvmrpd/dvmrpe.h
200
int send_report(struct iface *, struct in_addr, void *, int);
usr.sbin/dvmrpd/dvmrpe.h
209
void rr_list_send(struct rr_head *, struct iface *, struct nbr *);
usr.sbin/dvmrpd/dvmrpe.h
57
struct iface *iface;
usr.sbin/dvmrpd/dvmrpe.h
89
int send_ask_nbrs2(struct iface *, struct in_addr, void *, int);
usr.sbin/dvmrpd/graft.c
35
send_graft(struct iface *iface, struct in_addr addr, void *data, int len)
usr.sbin/dvmrpd/graft.c
42
iface->name, inet_ntoa(addr));
usr.sbin/dvmrpd/graft.c
44
if (iface->passive)
usr.sbin/dvmrpd/graft.c
47
if ((buf = ibuf_open(iface->mtu - sizeof(struct ip))) == NULL)
usr.sbin/dvmrpd/graft.c
51
if (gen_dvmrp_hdr(buf, iface, DVMRP_CODE_GRAFT))
usr.sbin/dvmrpd/graft.c
58
ret = send_packet(iface, buf, &dst);
usr.sbin/dvmrpd/graft_ack.c
35
send_graft_ack(struct iface *iface, struct in_addr addr, void *data, int len)
usr.sbin/dvmrpd/graft_ack.c
42
iface->name, inet_ntoa(addr));
usr.sbin/dvmrpd/graft_ack.c
44
if (iface->passive)
usr.sbin/dvmrpd/graft_ack.c
47
if ((buf = ibuf_open(iface->mtu - sizeof(struct ip))) == NULL)
usr.sbin/dvmrpd/graft_ack.c
51
if (gen_dvmrp_hdr(buf, iface, DVMRP_CODE_GRAFT_ACK))
usr.sbin/dvmrpd/graft_ack.c
58
ret = send_packet(iface, buf, &dst);
usr.sbin/dvmrpd/group.c
182
ret = send_igmp_query(group->iface, group);
usr.sbin/dvmrpd/group.c
187
mfc.ifindex = group->iface->ifindex;
usr.sbin/dvmrpd/group.c
194
mfc.ifindex = group->iface->ifindex;
usr.sbin/dvmrpd/group.c
250
tv.tv_sec = group->iface->robustness * group->iface->query_interval +
usr.sbin/dvmrpd/group.c
251
(group->iface->query_resp_interval / 2);
usr.sbin/dvmrpd/group.c
264
if (group->iface->state == IF_STA_QUERIER) {
usr.sbin/dvmrpd/group.c
266
tv.tv_sec = group->iface->last_member_query_interval *
usr.sbin/dvmrpd/group.c
267
group->iface->last_member_query_cnt;
usr.sbin/dvmrpd/group.c
271
tv.tv_sec = group->iface->recv_query_resp_interval *
usr.sbin/dvmrpd/group.c
272
group->iface->last_member_query_cnt;
usr.sbin/dvmrpd/group.c
305
tv.tv_sec = group->iface->robustness * group->iface->query_interval +
usr.sbin/dvmrpd/group.c
306
(group->iface->query_resp_interval / 2);
usr.sbin/dvmrpd/group.c
327
send_igmp_query(group->iface, group);
usr.sbin/dvmrpd/group.c
332
tv.tv_sec = group->iface->last_member_query_interval;
usr.sbin/dvmrpd/group.c
345
tv.tv_sec = group->iface->last_member_query_interval;
usr.sbin/dvmrpd/group.c
360
group_list_add(struct iface *iface, u_int32_t group)
usr.sbin/dvmrpd/group.c
369
if ((ge = group_list_find(iface, group)) != NULL) {
usr.sbin/dvmrpd/group.c
385
TAILQ_INSERT_TAIL(&iface->group_list, ge, entry);
usr.sbin/dvmrpd/group.c
386
iface->group_cnt++;
usr.sbin/dvmrpd/group.c
388
ge->iface = iface;
usr.sbin/dvmrpd/group.c
390
log_debug("group_list_add: interface %s, group %s", iface->name,
usr.sbin/dvmrpd/group.c
397
group_list_remove(struct iface *iface, struct group *group)
usr.sbin/dvmrpd/group.c
399
log_debug("group_list_remove: interface %s, group %s", iface->name,
usr.sbin/dvmrpd/group.c
407
TAILQ_REMOVE(&iface->group_list, group, entry);
usr.sbin/dvmrpd/group.c
409
iface->group_cnt--;
usr.sbin/dvmrpd/group.c
413
group_list_find(struct iface *iface, u_int32_t group)
usr.sbin/dvmrpd/group.c
421
TAILQ_FOREACH(ge, &iface->group_list, entry) {
usr.sbin/dvmrpd/group.c
430
group_list_clr(struct iface *iface)
usr.sbin/dvmrpd/group.c
434
while ((ge = TAILQ_FIRST(&iface->group_list)) != NULL) {
usr.sbin/dvmrpd/group.c
435
TAILQ_REMOVE(&iface->group_list, ge, entry);
usr.sbin/dvmrpd/group.c
438
iface->group_cnt = 0;
usr.sbin/dvmrpd/group.c
442
group_list_empty(struct iface *iface)
usr.sbin/dvmrpd/group.c
444
return (TAILQ_EMPTY(&iface->group_list));
usr.sbin/dvmrpd/group.c
448
group_list_dump(struct iface *iface, struct ctl_conn *c)
usr.sbin/dvmrpd/group.c
453
TAILQ_FOREACH(ge, &iface->group_list, entry) {
usr.sbin/dvmrpd/igmp.c
104
iface->recv_query_resp_interval = igmp_hdr.max_resp_time;
usr.sbin/dvmrpd/igmp.c
109
iface->name);
usr.sbin/dvmrpd/igmp.c
113
if (src.s_addr < iface->addr.s_addr && igmp_hdr.grp_addr == 0) {
usr.sbin/dvmrpd/igmp.c
115
if_fsm(iface, IF_EVT_QRECVD);
usr.sbin/dvmrpd/igmp.c
117
iface->querier = src;
usr.sbin/dvmrpd/igmp.c
121
if (iface->state == IF_STA_NONQUERIER && igmp_hdr.grp_addr != 0) {
usr.sbin/dvmrpd/igmp.c
125
"interface %s", iface->name);
usr.sbin/dvmrpd/igmp.c
129
if ((group = group_list_add(iface, igmp_hdr.grp_addr))
usr.sbin/dvmrpd/igmp.c
136
recv_igmp_report(struct iface *iface, struct in_addr src, char *buf,
usr.sbin/dvmrpd/igmp.c
142
log_debug("recv_igmp_report: interface %s", iface->name);
usr.sbin/dvmrpd/igmp.c
146
iface->name);
usr.sbin/dvmrpd/igmp.c
155
iface->name);
usr.sbin/dvmrpd/igmp.c
162
iface->name);
usr.sbin/dvmrpd/igmp.c
166
if ((group = group_list_add(iface, igmp_hdr.grp_addr)) == NULL)
usr.sbin/dvmrpd/igmp.c
169
if (iface->state == IF_STA_QUERIER) {
usr.sbin/dvmrpd/igmp.c
188
recv_igmp_leave(struct iface *iface, struct in_addr src, char *buf,
usr.sbin/dvmrpd/igmp.c
194
log_debug("recv_igmp_leave: interface %s", iface->name);
usr.sbin/dvmrpd/igmp.c
196
if (iface->state != IF_STA_QUERIER)
usr.sbin/dvmrpd/igmp.c
201
iface->name);
usr.sbin/dvmrpd/igmp.c
210
iface->name);
usr.sbin/dvmrpd/igmp.c
217
iface->name);
usr.sbin/dvmrpd/igmp.c
221
if ((group = group_list_find(iface, igmp_hdr.grp_addr)) != NULL) {
usr.sbin/dvmrpd/igmp.c
38
send_igmp_query(struct iface *iface, struct group *group)
usr.sbin/dvmrpd/igmp.c
45
log_debug("send_igmp_query: interface %s", iface->name);
usr.sbin/dvmrpd/igmp.c
47
if (iface->passive)
usr.sbin/dvmrpd/igmp.c
50
if ((buf = ibuf_open(iface->mtu - sizeof(struct ip))) == NULL)
usr.sbin/dvmrpd/igmp.c
61
switch (iface->igmp_version) {
usr.sbin/dvmrpd/igmp.c
65
igmp_hdr.max_resp_time = iface->query_resp_interval;
usr.sbin/dvmrpd/igmp.c
73
igmp_hdr.max_resp_time = iface->last_member_query_interval;
usr.sbin/dvmrpd/igmp.c
83
ret = send_packet(iface, buf, &dst);
usr.sbin/dvmrpd/igmp.c
89
recv_igmp_query(struct iface *iface, struct in_addr src, char *buf,
usr.sbin/dvmrpd/igmp.c
95
log_debug("recv_igmp_query: interface %s", iface->name);
usr.sbin/dvmrpd/igmp.c
99
iface->name);
usr.sbin/dvmrpd/interface.c
110
"event '%s' not expected in state '%s'", iface->name,
usr.sbin/dvmrpd/interface.c
117
ret = if_act_start(iface);
usr.sbin/dvmrpd/interface.c
120
ret = if_act_query_seen(iface);
usr.sbin/dvmrpd/interface.c
123
ret = if_act_reset(iface);
usr.sbin/dvmrpd/interface.c
132
"event '%s', state '%s'", iface->name, if_event_name(event),
usr.sbin/dvmrpd/interface.c
138
iface->state = new_state;
usr.sbin/dvmrpd/interface.c
143
iface->name, if_state_name(old_state), if_state_name(iface->state));
usr.sbin/dvmrpd/interface.c
148
struct iface *
usr.sbin/dvmrpd/interface.c
151
struct iface *iface;
usr.sbin/dvmrpd/interface.c
153
LIST_FOREACH(iface, &conf->iface_list, entry) {
usr.sbin/dvmrpd/interface.c
154
if (iface->ifindex == ifindex)
usr.sbin/dvmrpd/interface.c
155
return (iface);
usr.sbin/dvmrpd/interface.c
161
struct iface *
usr.sbin/dvmrpd/interface.c
165
struct iface *iface;
usr.sbin/dvmrpd/interface.c
169
if ((iface = calloc(1, sizeof(*iface))) == NULL)
usr.sbin/dvmrpd/interface.c
172
iface->state = IF_STA_DOWN;
usr.sbin/dvmrpd/interface.c
173
iface->passive = 1;
usr.sbin/dvmrpd/interface.c
175
LIST_INIT(&iface->nbr_list);
usr.sbin/dvmrpd/interface.c
176
TAILQ_INIT(&iface->group_list);
usr.sbin/dvmrpd/interface.c
177
TAILQ_INIT(&iface->rde_group_list);
usr.sbin/dvmrpd/interface.c
178
strlcpy(iface->name, kif->ifname, sizeof(iface->name));
usr.sbin/dvmrpd/interface.c
190
iface->type = IF_TYPE_POINTOPOINT;
usr.sbin/dvmrpd/interface.c
193
iface->type = IF_TYPE_BROADCAST;
usr.sbin/dvmrpd/interface.c
196
iface->mtu = kif->mtu;
usr.sbin/dvmrpd/interface.c
197
iface->ifindex = kif->ifindex;
usr.sbin/dvmrpd/interface.c
198
iface->flags = kif->flags;
usr.sbin/dvmrpd/interface.c
199
iface->linkstate = kif->link_state;
usr.sbin/dvmrpd/interface.c
200
iface->if_type = kif->if_type;
usr.sbin/dvmrpd/interface.c
201
iface->baudrate = kif->baudrate;
usr.sbin/dvmrpd/interface.c
207
iface->addr = sain->sin_addr;
usr.sbin/dvmrpd/interface.c
213
iface->mask = sain->sin_addr;
usr.sbin/dvmrpd/interface.c
216
if (iface->type == IF_TYPE_POINTOPOINT) {
usr.sbin/dvmrpd/interface.c
220
iface->dst = sain->sin_addr;
usr.sbin/dvmrpd/interface.c
226
return (iface);
usr.sbin/dvmrpd/interface.c
230
if_init(struct dvmrpd_conf *xconf, struct iface *iface)
usr.sbin/dvmrpd/interface.c
233
evtimer_set(&iface->probe_timer, if_probe_timer, iface);
usr.sbin/dvmrpd/interface.c
234
evtimer_set(&iface->query_timer, if_query_timer, iface);
usr.sbin/dvmrpd/interface.c
235
evtimer_set(&iface->querier_present_timer, if_querier_present_timer,
usr.sbin/dvmrpd/interface.c
236
iface);
usr.sbin/dvmrpd/interface.c
238
TAILQ_INIT(&iface->rr_list);
usr.sbin/dvmrpd/interface.c
240
iface->fd = xconf->dvmrp_socket;
usr.sbin/dvmrpd/interface.c
241
iface->gen_id = xconf->gen_id;
usr.sbin/dvmrpd/interface.c
245
if_del(struct iface *iface)
usr.sbin/dvmrpd/interface.c
250
while ((nbr = LIST_FIRST(&iface->nbr_list)) != NULL) {
usr.sbin/dvmrpd/interface.c
254
group_list_clr(iface);
usr.sbin/dvmrpd/interface.c
260
if_nbr_list_empty(struct iface *iface)
usr.sbin/dvmrpd/interface.c
262
return (LIST_EMPTY(&iface->nbr_list));
usr.sbin/dvmrpd/interface.c
269
struct iface *iface = arg;
usr.sbin/dvmrpd/interface.c
272
send_probe(iface);
usr.sbin/dvmrpd/interface.c
275
if (!iface->passive) {
usr.sbin/dvmrpd/interface.c
277
tv.tv_sec = iface->probe_interval;
usr.sbin/dvmrpd/interface.c
278
evtimer_add(&iface->probe_timer, &tv);
usr.sbin/dvmrpd/interface.c
283
if_start_probe_timer(struct iface *iface)
usr.sbin/dvmrpd/interface.c
288
return (evtimer_add(&iface->probe_timer, &tv));
usr.sbin/dvmrpd/interface.c
292
if_stop_probe_timer(struct iface *iface)
usr.sbin/dvmrpd/interface.c
294
return (evtimer_del(&iface->probe_timer));
usr.sbin/dvmrpd/interface.c
300
struct iface *iface = arg;
usr.sbin/dvmrpd/interface.c
304
send_igmp_query(iface, NULL);
usr.sbin/dvmrpd/interface.c
307
if (!iface->passive) {
usr.sbin/dvmrpd/interface.c
309
if (iface->startup_query_counter != 0) {
usr.sbin/dvmrpd/interface.c
310
tv.tv_sec = iface->startup_query_interval;
usr.sbin/dvmrpd/interface.c
311
iface->startup_query_counter--;
usr.sbin/dvmrpd/interface.c
313
tv.tv_sec = iface->query_interval;
usr.sbin/dvmrpd/interface.c
315
evtimer_add(&iface->query_timer, &tv);
usr.sbin/dvmrpd/interface.c
320
if_start_query_timer(struct iface *iface)
usr.sbin/dvmrpd/interface.c
325
return (evtimer_add(&iface->query_timer, &tv));
usr.sbin/dvmrpd/interface.c
329
if_stop_query_timer(struct iface *iface)
usr.sbin/dvmrpd/interface.c
331
return (evtimer_del(&iface->query_timer));
usr.sbin/dvmrpd/interface.c
337
struct iface *iface = arg;
usr.sbin/dvmrpd/interface.c
339
if_fsm(iface, IF_EVT_QPRSNTTMOUT);
usr.sbin/dvmrpd/interface.c
343
if_start_querier_present_timer(struct iface *iface)
usr.sbin/dvmrpd/interface.c
349
tv.tv_sec = iface->robustness * iface->query_interval +
usr.sbin/dvmrpd/interface.c
350
(iface->query_resp_interval / 2);
usr.sbin/dvmrpd/interface.c
352
return (evtimer_add(&iface->querier_present_timer, &tv));
usr.sbin/dvmrpd/interface.c
356
if_stop_querier_present_timer(struct iface *iface)
usr.sbin/dvmrpd/interface.c
358
return (evtimer_del(&iface->querier_present_timer));
usr.sbin/dvmrpd/interface.c
362
if_reset_querier_present_timer(struct iface *iface)
usr.sbin/dvmrpd/interface.c
368
tv.tv_sec = iface->robustness * iface->query_interval +
usr.sbin/dvmrpd/interface.c
369
(iface->query_resp_interval / 2);
usr.sbin/dvmrpd/interface.c
371
return (evtimer_add(&iface->querier_present_timer, &tv));
usr.sbin/dvmrpd/interface.c
376
if_act_start(struct iface *iface)
usr.sbin/dvmrpd/interface.c
381
if (iface->passive) {
usr.sbin/dvmrpd/interface.c
383
iface->name);
usr.sbin/dvmrpd/interface.c
387
if (!((iface->flags & IFF_UP) && LINK_STATE_IS_UP(iface->linkstate))) {
usr.sbin/dvmrpd/interface.c
389
iface->name);
usr.sbin/dvmrpd/interface.c
394
iface->uptime = now.tv_sec;
usr.sbin/dvmrpd/interface.c
396
switch (iface->type) {
usr.sbin/dvmrpd/interface.c
400
if (if_join_group(iface, &addr)) {
usr.sbin/dvmrpd/interface.c
402
"interface %s", inet_ntoa(addr), iface->name);
usr.sbin/dvmrpd/interface.c
406
if (if_join_group(iface, &addr)) {
usr.sbin/dvmrpd/interface.c
408
"interface %s", inet_ntoa(addr), iface->name);
usr.sbin/dvmrpd/interface.c
412
if (if_join_group(iface, &addr)) {
usr.sbin/dvmrpd/interface.c
414
"interface %s", inet_ntoa(addr), iface->name);
usr.sbin/dvmrpd/interface.c
418
iface->state = IF_STA_QUERIER;
usr.sbin/dvmrpd/interface.c
419
if_start_query_timer(iface);
usr.sbin/dvmrpd/interface.c
420
if_start_probe_timer(iface);
usr.sbin/dvmrpd/interface.c
421
iface->startup_query_counter = iface->startup_query_cnt;
usr.sbin/dvmrpd/interface.c
431
if_act_query_seen(struct iface *iface)
usr.sbin/dvmrpd/interface.c
433
log_debug("if_act_query_seen: interface %s", iface->name);
usr.sbin/dvmrpd/interface.c
435
switch (iface->type) {
usr.sbin/dvmrpd/interface.c
438
iface->state = IF_STA_NONQUERIER;
usr.sbin/dvmrpd/interface.c
439
if_stop_query_timer(iface);
usr.sbin/dvmrpd/interface.c
440
if_reset_querier_present_timer(iface);
usr.sbin/dvmrpd/interface.c
450
if_act_reset(struct iface *iface)
usr.sbin/dvmrpd/interface.c
455
switch (iface->type) {
usr.sbin/dvmrpd/interface.c
459
if (if_leave_group(iface, &addr)) {
usr.sbin/dvmrpd/interface.c
461
"interface %s", inet_ntoa(addr), iface->name);
usr.sbin/dvmrpd/interface.c
465
if (if_leave_group(iface, &addr)) {
usr.sbin/dvmrpd/interface.c
467
"interface %s", inet_ntoa(addr), iface->name);
usr.sbin/dvmrpd/interface.c
471
if (if_leave_group(iface, &addr)) {
usr.sbin/dvmrpd/interface.c
473
"interface %s", inet_ntoa(addr), iface->name);
usr.sbin/dvmrpd/interface.c
477
iface->state = IF_STA_DOWN;
usr.sbin/dvmrpd/interface.c
478
iface->gen_id++;
usr.sbin/dvmrpd/interface.c
479
if_stop_query_timer(iface);
usr.sbin/dvmrpd/interface.c
48
int if_start_probe_timer(struct iface *);
usr.sbin/dvmrpd/interface.c
480
if_stop_querier_present_timer(iface);
usr.sbin/dvmrpd/interface.c
487
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/dvmrpd/interface.c
49
int if_stop_probe_timer(struct iface *);
usr.sbin/dvmrpd/interface.c
494
group_list_clr(iface); /* XXX clear group list? */
usr.sbin/dvmrpd/interface.c
51
int if_start_query_timer(struct iface *);
usr.sbin/dvmrpd/interface.c
52
int if_stop_query_timer(struct iface *);
usr.sbin/dvmrpd/interface.c
54
int if_start_querier_present_timer(struct iface *);
usr.sbin/dvmrpd/interface.c
549
if_join_group(struct iface *iface, struct in_addr *addr)
usr.sbin/dvmrpd/interface.c
55
int if_stop_querier_present_timer(struct iface *);
usr.sbin/dvmrpd/interface.c
553
switch (iface->type) {
usr.sbin/dvmrpd/interface.c
557
mreq.imr_interface.s_addr = iface->addr.s_addr;
usr.sbin/dvmrpd/interface.c
559
if (setsockopt(iface->fd, IPPROTO_IP, IP_ADD_MEMBERSHIP,
usr.sbin/dvmrpd/interface.c
56
int if_reset_querier_present_timer(struct iface *);
usr.sbin/dvmrpd/interface.c
562
"interface %s", iface->name);
usr.sbin/dvmrpd/interface.c
57
int if_act_start(struct iface *);
usr.sbin/dvmrpd/interface.c
574
if_leave_group(struct iface *iface, struct in_addr *addr)
usr.sbin/dvmrpd/interface.c
578
switch (iface->type) {
usr.sbin/dvmrpd/interface.c
58
int if_act_query_seen(struct iface *);
usr.sbin/dvmrpd/interface.c
582
mreq.imr_interface.s_addr = iface->addr.s_addr;
usr.sbin/dvmrpd/interface.c
584
if (setsockopt(iface->fd, IPPROTO_IP, IP_DROP_MEMBERSHIP,
usr.sbin/dvmrpd/interface.c
587
"interface %s", iface->name);
usr.sbin/dvmrpd/interface.c
59
int if_act_reset(struct iface *);
usr.sbin/dvmrpd/interface.c
599
if_set_mcast(struct iface *iface)
usr.sbin/dvmrpd/interface.c
601
switch (iface->type) {
usr.sbin/dvmrpd/interface.c
604
if (setsockopt(iface->fd, IPPROTO_IP, IP_MULTICAST_IF,
usr.sbin/dvmrpd/interface.c
605
(char *)&iface->addr.s_addr,
usr.sbin/dvmrpd/interface.c
606
sizeof(iface->addr.s_addr)) == -1) {
usr.sbin/dvmrpd/interface.c
608
"IP_MULTICAST_IF, interface %s", iface->name);
usr.sbin/dvmrpd/interface.c
634
if_to_ctl(struct iface *iface)
usr.sbin/dvmrpd/interface.c
639
memcpy(ictl.name, iface->name, sizeof(ictl.name));
usr.sbin/dvmrpd/interface.c
640
memcpy(&ictl.addr, &iface->addr, sizeof(ictl.addr));
usr.sbin/dvmrpd/interface.c
641
memcpy(&ictl.mask, &iface->mask, sizeof(ictl.mask));
usr.sbin/dvmrpd/interface.c
642
memcpy(&ictl.querier, &iface->querier, sizeof(ictl.querier));
usr.sbin/dvmrpd/interface.c
644
ictl.ifindex = iface->ifindex;
usr.sbin/dvmrpd/interface.c
645
ictl.state = iface->state;
usr.sbin/dvmrpd/interface.c
646
ictl.mtu = iface->mtu;
usr.sbin/dvmrpd/interface.c
647
ictl.nbr_cnt = iface->nbr_cnt;
usr.sbin/dvmrpd/interface.c
648
ictl.adj_cnt = iface->adj_cnt;
usr.sbin/dvmrpd/interface.c
650
ictl.gen_id = iface->gen_id;
usr.sbin/dvmrpd/interface.c
651
ictl.group_cnt = iface->group_cnt;
usr.sbin/dvmrpd/interface.c
652
ictl.probe_interval = iface->probe_interval;
usr.sbin/dvmrpd/interface.c
653
ictl.query_interval = iface->query_interval;
usr.sbin/dvmrpd/interface.c
654
ictl.query_resp_interval = iface->query_resp_interval;
usr.sbin/dvmrpd/interface.c
655
ictl.recv_query_resp_interval = iface->recv_query_resp_interval;
usr.sbin/dvmrpd/interface.c
656
ictl.group_member_interval = iface->group_member_interval;
usr.sbin/dvmrpd/interface.c
657
ictl.querier_present_interval = iface->querier_present_interval;
usr.sbin/dvmrpd/interface.c
658
ictl.startup_query_interval = iface->startup_query_interval;
usr.sbin/dvmrpd/interface.c
659
ictl.startup_query_cnt = iface->startup_query_cnt;
usr.sbin/dvmrpd/interface.c
660
ictl.last_member_query_interval = iface->last_member_query_interval;
usr.sbin/dvmrpd/interface.c
661
ictl.last_member_query_cnt = iface->last_member_query_cnt;
usr.sbin/dvmrpd/interface.c
662
ictl.last_member_query_time = iface->last_member_query_time;
usr.sbin/dvmrpd/interface.c
663
ictl.v1_querier_present_tmout = iface->v1_querier_present_tmout;
usr.sbin/dvmrpd/interface.c
664
ictl.v1_host_present_interval = iface->v1_host_present_interval;
usr.sbin/dvmrpd/interface.c
665
ictl.dead_interval = iface->dead_interval;
usr.sbin/dvmrpd/interface.c
667
ictl.baudrate = iface->baudrate;
usr.sbin/dvmrpd/interface.c
668
ictl.flags = iface->flags;
usr.sbin/dvmrpd/interface.c
669
ictl.metric = iface->metric;
usr.sbin/dvmrpd/interface.c
670
ictl.type = iface->type;
usr.sbin/dvmrpd/interface.c
671
ictl.robustness = iface->robustness;
usr.sbin/dvmrpd/interface.c
672
ictl.linkstate = iface->linkstate;
usr.sbin/dvmrpd/interface.c
673
ictl.passive = iface->passive;
usr.sbin/dvmrpd/interface.c
674
ictl.igmp_version = iface->igmp_version;
usr.sbin/dvmrpd/interface.c
675
ictl.if_type = iface->if_type;
usr.sbin/dvmrpd/interface.c
678
if (evtimer_pending(&iface->probe_timer, &tv)) {
usr.sbin/dvmrpd/interface.c
684
if (evtimer_pending(&iface->query_timer, &tv)) {
usr.sbin/dvmrpd/interface.c
690
if (evtimer_pending(&iface->querier_present_timer, &tv)) {
usr.sbin/dvmrpd/interface.c
696
if (iface->state != IF_STA_DOWN) {
usr.sbin/dvmrpd/interface.c
697
ictl.uptime = now.tv_sec - iface->uptime;
usr.sbin/dvmrpd/interface.c
92
if_fsm(struct iface *iface, enum iface_event event)
usr.sbin/dvmrpd/interface.c
98
old_state = iface->state;
usr.sbin/dvmrpd/kmroute.c
179
mrt_add_vif(int fd, struct iface *iface)
usr.sbin/dvmrpd/kmroute.c
183
vc.vifc_vifi = iface->ifindex;
usr.sbin/dvmrpd/kmroute.c
187
vc.vifc_lcl_addr.s_addr = iface->addr.s_addr;
usr.sbin/dvmrpd/kmroute.c
200
mrt_del_vif(int fd, struct iface *iface)
usr.sbin/dvmrpd/kmroute.c
204
vifi = iface->ifindex;
usr.sbin/dvmrpd/kmroute.c
44
struct iface *iface;
usr.sbin/dvmrpd/kmroute.c
47
LIST_FOREACH(iface, &conf->iface_list, entry) {
usr.sbin/dvmrpd/kmroute.c
48
log_debug("kmr_init: interface %s", iface->name);
usr.sbin/dvmrpd/kmroute.c
50
rr.net.s_addr = iface->addr.s_addr & iface->mask.s_addr;
usr.sbin/dvmrpd/kmroute.c
51
rr.mask = iface->mask;
usr.sbin/dvmrpd/kmroute.c
53
rr.metric = iface->metric;
usr.sbin/dvmrpd/kmroute.c
54
rr.ifindex = iface->ifindex;
usr.sbin/dvmrpd/kmroute.c
57
mrt_add_vif(conf->mroute_socket, iface);
usr.sbin/dvmrpd/kmroute.c
69
struct iface *iface;
usr.sbin/dvmrpd/kmroute.c
74
LIST_FOREACH(iface, &conf->iface_list, entry) {
usr.sbin/dvmrpd/kmroute.c
75
log_debug("kmr_shutdown: interface %s", iface->name);
usr.sbin/dvmrpd/kmroute.c
77
mrt_del_vif(conf->mroute_socket, iface);
usr.sbin/dvmrpd/nbrs2.c
36
send_nbrs2(struct iface *iface, struct in_addr addr, void *data, int len)
usr.sbin/dvmrpd/nbrs2.c
43
iface->name, inet_ntoa(addr));
usr.sbin/dvmrpd/nbrs2.c
45
if (iface->passive)
usr.sbin/dvmrpd/nbrs2.c
48
if ((buf = ibuf_open(iface->mtu - sizeof(struct ip))) == NULL)
usr.sbin/dvmrpd/nbrs2.c
52
if (gen_dvmrp_hdr(buf, iface, DVMRP_CODE_GRAFT_ACK))
usr.sbin/dvmrpd/nbrs2.c
59
ret = send_packet(iface, buf, &dst);
usr.sbin/dvmrpd/neighbor.c
153
nbr->iface->adj_cnt++;
usr.sbin/dvmrpd/neighbor.c
155
nbr->iface->adj_cnt--;
usr.sbin/dvmrpd/neighbor.c
187
nbr_new(u_int32_t nbr_id, struct iface *iface, int self)
usr.sbin/dvmrpd/neighbor.c
206
nbr->iface = iface;
usr.sbin/dvmrpd/neighbor.c
207
LIST_INSERT_HEAD(&iface->nbr_list, nbr, entry);
usr.sbin/dvmrpd/neighbor.c
251
nbr_find_ip(struct iface *iface, u_int32_t src_ip)
usr.sbin/dvmrpd/neighbor.c
255
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/dvmrpd/neighbor.c
283
tv.tv_sec = nbr->iface->dead_interval;
usr.sbin/dvmrpd/neighbor.c
300
tv.tv_sec = nbr->iface->dead_interval;
usr.sbin/dvmrpd/neighbor.c
363
nm.ifindex = nbr->iface->ifindex;
usr.sbin/dvmrpd/neighbor.c
398
memcpy(nctl.name, nbr->iface->name, sizeof(nctl.name));
usr.sbin/dvmrpd/packet.c
107
struct iface *iface;
usr.sbin/dvmrpd/packet.c
144
if ((iface = find_iface(xconf, ip_hdr.ip_src)) == NULL) {
usr.sbin/dvmrpd/packet.c
161
iface)) == -1)
usr.sbin/dvmrpd/packet.c
170
if ((nbr_find_ip(iface, ip_hdr.ip_src.s_addr) == NULL) &&
usr.sbin/dvmrpd/packet.c
174
nbr = nbr_new(ip_hdr.ip_src.s_addr, iface, 0);
usr.sbin/dvmrpd/packet.c
183
if ((nbr = nbr_find_ip(iface, ip_hdr.ip_src.s_addr))
usr.sbin/dvmrpd/packet.c
194
(ip_hdr.ip_dst.s_addr != iface->addr.s_addr)) {
usr.sbin/dvmrpd/packet.c
196
" destination IP address %s", iface->name,
usr.sbin/dvmrpd/packet.c
203
recv_probe(iface, ip_hdr.ip_src, ip_hdr.ip_src.s_addr,
usr.sbin/dvmrpd/packet.c
226
"interface %s", iface->name);
usr.sbin/dvmrpd/packet.c
231
recv_igmp_query(iface, ip_hdr.ip_src, buf, len);
usr.sbin/dvmrpd/packet.c
235
recv_igmp_report(iface, ip_hdr.ip_src, buf, len,
usr.sbin/dvmrpd/packet.c
239
recv_igmp_leave(iface, ip_hdr.ip_src, buf, len);
usr.sbin/dvmrpd/packet.c
243
iface->name);
usr.sbin/dvmrpd/packet.c
265
u_int16_t len, const struct iface *iface)
usr.sbin/dvmrpd/packet.c
280
struct iface *
usr.sbin/dvmrpd/packet.c
283
struct iface *iface = NULL;
usr.sbin/dvmrpd/packet.c
286
LIST_FOREACH(iface, &xconf->iface_list, entry) {
usr.sbin/dvmrpd/packet.c
287
if (iface->fd > 0 &&
usr.sbin/dvmrpd/packet.c
288
(iface->type == IF_TYPE_POINTOPOINT) &&
usr.sbin/dvmrpd/packet.c
289
(iface->dst.s_addr == src.s_addr) &&
usr.sbin/dvmrpd/packet.c
290
!iface->passive)
usr.sbin/dvmrpd/packet.c
291
return (iface);
usr.sbin/dvmrpd/packet.c
293
if (iface->fd > 0 && (iface->addr.s_addr &
usr.sbin/dvmrpd/packet.c
294
iface->mask.s_addr) == (src.s_addr &
usr.sbin/dvmrpd/packet.c
295
iface->mask.s_addr) && !iface->passive)
usr.sbin/dvmrpd/packet.c
296
return (iface);
usr.sbin/dvmrpd/packet.c
42
u_int16_t, const struct iface *);
usr.sbin/dvmrpd/packet.c
43
struct iface *find_iface(struct dvmrpd_conf *, struct in_addr);
usr.sbin/dvmrpd/packet.c
48
gen_dvmrp_hdr(struct ibuf *buf, struct iface *iface, u_int8_t code)
usr.sbin/dvmrpd/packet.c
65
send_packet(struct iface *iface, struct ibuf *pkt, struct sockaddr_in *dst)
usr.sbin/dvmrpd/packet.c
69
if (iface->passive) {
usr.sbin/dvmrpd/packet.c
71
"interface %s", iface->name);
usr.sbin/dvmrpd/packet.c
77
if (if_set_mcast(iface) == -1) {
usr.sbin/dvmrpd/packet.c
79
"interface, %s", iface->name);
usr.sbin/dvmrpd/packet.c
91
if (sendto(iface->fd, ibuf_data(pkt), ibuf_size(pkt), 0,
usr.sbin/dvmrpd/packet.c
94
iface->name);
usr.sbin/dvmrpd/parse.y
100
struct iface *conf_get_if(struct kif *);
usr.sbin/dvmrpd/parse.y
101
struct iface *new_group(void);
usr.sbin/dvmrpd/parse.y
301
iface = conf_get_if(kif);
usr.sbin/dvmrpd/parse.y
302
if (iface == NULL)
usr.sbin/dvmrpd/parse.y
304
LIST_INSERT_HEAD(&conf->iface_list, iface, entry);
usr.sbin/dvmrpd/parse.y
309
iface->probe_interval = defs->probe_interval;
usr.sbin/dvmrpd/parse.y
310
iface->query_interval = defs->query_interval;
usr.sbin/dvmrpd/parse.y
311
iface->query_resp_interval = defs->query_resp_interval;
usr.sbin/dvmrpd/parse.y
312
iface->startup_query_interval =
usr.sbin/dvmrpd/parse.y
314
iface->startup_query_cnt = defs->startup_query_cnt;
usr.sbin/dvmrpd/parse.y
315
iface->last_member_query_interval =
usr.sbin/dvmrpd/parse.y
317
iface->last_member_query_cnt =
usr.sbin/dvmrpd/parse.y
319
iface->dead_interval = defs->dead_interval;
usr.sbin/dvmrpd/parse.y
320
iface->metric = defs->metric;
usr.sbin/dvmrpd/parse.y
321
iface->robustness = defs->robustness;
usr.sbin/dvmrpd/parse.y
322
iface->igmp_version = defs->igmp_version;
usr.sbin/dvmrpd/parse.y
327
iface = NULL;
usr.sbin/dvmrpd/parse.y
340
interfaceoptsl : PASSIVE nl { iface->passive = 1; }
usr.sbin/dvmrpd/parse.y
83
struct iface *iface = NULL;
usr.sbin/dvmrpd/parse.y
864
struct iface *
usr.sbin/dvmrpd/parse.y
867
struct iface *i;
usr.sbin/dvmrpd/printconf.c
33
void print_iface(struct iface *);
usr.sbin/dvmrpd/printconf.c
45
print_iface(struct iface *iface)
usr.sbin/dvmrpd/printconf.c
47
printf("interface %s {\n", iface->name);
usr.sbin/dvmrpd/printconf.c
49
if (iface->passive)
usr.sbin/dvmrpd/printconf.c
52
printf("\tmetric %d\n", iface->metric);
usr.sbin/dvmrpd/printconf.c
53
printf("\tquery-interval %d\n", iface->query_interval);
usr.sbin/dvmrpd/printconf.c
54
printf("\tquery-response-interval %d\n", iface->query_resp_interval);
usr.sbin/dvmrpd/printconf.c
55
printf("\trobustness %d\n", iface->robustness);
usr.sbin/dvmrpd/printconf.c
56
printf("\tstartup-query-count %d\n", iface->startup_query_cnt);
usr.sbin/dvmrpd/printconf.c
57
printf("\tlast-member-query-count %d\n", iface->last_member_query_cnt);
usr.sbin/dvmrpd/printconf.c
59
iface->last_member_query_interval);
usr.sbin/dvmrpd/printconf.c
60
printf("\tigmp-version %d\n", iface->igmp_version);
usr.sbin/dvmrpd/printconf.c
68
struct iface *iface;
usr.sbin/dvmrpd/printconf.c
74
LIST_FOREACH(iface, &conf->iface_list, entry) {
usr.sbin/dvmrpd/printconf.c
75
print_iface(iface);
usr.sbin/dvmrpd/probe.c
115
if (nbr_id == iface->addr.s_addr) {
usr.sbin/dvmrpd/probe.c
38
send_probe(struct iface *iface)
usr.sbin/dvmrpd/probe.c
45
if (iface->passive)
usr.sbin/dvmrpd/probe.c
48
if ((buf = ibuf_open(iface->mtu - sizeof(struct ip))) == NULL)
usr.sbin/dvmrpd/probe.c
52
if (gen_dvmrp_hdr(buf, iface, DVMRP_CODE_PROBE))
usr.sbin/dvmrpd/probe.c
56
ibuf_add(buf, &iface->gen_id, sizeof(iface->gen_id));
usr.sbin/dvmrpd/probe.c
59
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/dvmrpd/probe.c
69
ret = send_packet(iface, buf, &dst);
usr.sbin/dvmrpd/probe.c
79
recv_probe(struct iface *iface, struct in_addr src, u_int32_t src_ip,
usr.sbin/dvmrpd/probe.c
86
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/dvmrpd/probe.c
96
nbr = nbr_new(src_ip, iface, 0);
usr.sbin/dvmrpd/prune.c
106
p.ifindex = nbr->iface->ifindex;
usr.sbin/dvmrpd/prune.c
43
log_debug("send_prune: interface %s nbr %s", nbr->iface->name,
usr.sbin/dvmrpd/prune.c
46
if (nbr->iface->passive)
usr.sbin/dvmrpd/prune.c
55
if ((buf = ibuf_open(nbr->iface->mtu - sizeof(struct ip))) == NULL)
usr.sbin/dvmrpd/prune.c
59
if (gen_dvmrp_hdr(buf, nbr->iface, DVMRP_CODE_PRUNE))
usr.sbin/dvmrpd/prune.c
71
ret = send_packet(nbr->iface, buf, &dst);
usr.sbin/dvmrpd/rde.c
158
struct iface *iface;
usr.sbin/dvmrpd/rde.c
169
LIST_FOREACH(iface, &rdeconf->iface_list, entry) {
usr.sbin/dvmrpd/rde.c
170
if_del(iface);
usr.sbin/dvmrpd/rde.c
208
struct iface *iface;
usr.sbin/dvmrpd/rde.c
268
LIST_FOREACH(iface, &rdeconf->iface_list, entry) {
usr.sbin/dvmrpd/rde.c
269
if (rde_select_ds_ifs(&mfc, iface))
usr.sbin/dvmrpd/rde.c
270
mfc.ttls[iface->ifindex] = 1;
usr.sbin/dvmrpd/rde.c
289
iface = if_find_index(mfc.ifindex);
usr.sbin/dvmrpd/rde.c
290
if (iface == NULL) {
usr.sbin/dvmrpd/rde.c
295
rde_group_list_add(iface, mfc.group);
usr.sbin/dvmrpd/rde.c
302
iface = if_find_index(mfc.ifindex);
usr.sbin/dvmrpd/rde.c
303
if (iface == NULL) {
usr.sbin/dvmrpd/rde.c
308
rde_group_list_remove(iface, mfc.group);
usr.sbin/dvmrpd/rde.c
347
rde_select_ds_ifs(struct mfc *mfc, struct iface *iface)
usr.sbin/dvmrpd/rde.c
351
if (mfc->ifindex == iface->ifindex)
usr.sbin/dvmrpd/rde.c
354
if (rde_group_list_find(iface, mfc->group))
usr.sbin/dvmrpd/rde.c
364
if (rn->ds_cnt[iface->ifindex] != 0)
usr.sbin/dvmrpd/rde.c
372
rde_group_list_add(struct iface *iface, struct in_addr group)
usr.sbin/dvmrpd/rde.c
379
"multicast address", iface->name,
usr.sbin/dvmrpd/rde.c
384
if (rde_group_list_find(iface, group))
usr.sbin/dvmrpd/rde.c
393
TAILQ_INSERT_TAIL(&iface->rde_group_list, rdegrp, entry);
usr.sbin/dvmrpd/rde.c
395
log_debug("rde_group_list_add: interface %s, group %s", iface->name,
usr.sbin/dvmrpd/rde.c
402
rde_group_list_find(struct iface *iface, struct in_addr group)
usr.sbin/dvmrpd/rde.c
409
"multicast address", iface->name,
usr.sbin/dvmrpd/rde.c
414
TAILQ_FOREACH(rdegrp, &iface->rde_group_list, entry) {
usr.sbin/dvmrpd/rde.c
423
rde_group_list_remove(struct iface *iface, struct in_addr group)
usr.sbin/dvmrpd/rde.c
428
if (TAILQ_EMPTY(&iface->rde_group_list))
usr.sbin/dvmrpd/rde.c
431
TAILQ_FOREACH_SAFE(rg, &iface->rde_group_list, entry, nrg) {
usr.sbin/dvmrpd/rde.c
434
iface->name, inet_ntoa(rg->rde_group));
usr.sbin/dvmrpd/rde.c
435
TAILQ_REMOVE(&iface->rde_group_list, rg, entry);
usr.sbin/dvmrpd/rde.c
444
srt_check_downstream_ifaces(rn, iface);
usr.sbin/dvmrpd/rde.c
46
int rde_select_ds_ifs(struct mfc *, struct iface *);
usr.sbin/dvmrpd/rde.h
112
int mfc_check_members(struct rt_node *, struct iface *);
usr.sbin/dvmrpd/rde.h
132
void srt_check_downstream_ifaces(struct rt_node *, struct iface *);
usr.sbin/dvmrpd/rde.h
96
void rde_group_list_add(struct iface *, struct in_addr);
usr.sbin/dvmrpd/rde.h
97
int rde_group_list_find(struct iface *, struct in_addr);
usr.sbin/dvmrpd/rde.h
98
void rde_group_list_remove(struct iface *, struct in_addr);
usr.sbin/dvmrpd/rde_mfc.c
368
mfc_check_members(struct rt_node *rn, struct iface *iface)
usr.sbin/dvmrpd/rde_mfc.c
374
if (rde_group_list_find(iface, mn->group) != 0)
usr.sbin/dvmrpd/rde_mfc.c
388
struct iface *iface;
usr.sbin/dvmrpd/rde_mfc.c
391
iface = if_find_index(p->ifindex);
usr.sbin/dvmrpd/rde_mfc.c
392
if (iface == NULL) {
usr.sbin/dvmrpd/rde_mfc.c
421
!rde_group_list_find(iface, p->group)) {
usr.sbin/dvmrpd/rde_srt.c
337
struct iface *iface;
usr.sbin/dvmrpd/rde_srt.c
342
if ((iface = if_find_index(rr->ifindex)) == NULL)
usr.sbin/dvmrpd/rde_srt.c
345
ifindex = iface->ifindex;
usr.sbin/dvmrpd/rde_srt.c
354
adj_metric = rr->metric + iface->metric;
usr.sbin/dvmrpd/rde_srt.c
382
srt_delete_ds(rn, ds_nbr, iface);
usr.sbin/dvmrpd/rde_srt.c
399
srt_update_ds_forwarders(rn, iface, nbr_report);
usr.sbin/dvmrpd/rde_srt.c
413
srt_current_forwarder(rn, iface, rr->metric, nbr_report);
usr.sbin/dvmrpd/rde_srt.c
417
srt_set_forwarder_self(rn, iface);
usr.sbin/dvmrpd/rde_srt.c
424
srt_delete_ds(rn, ds_nbr, iface);
usr.sbin/dvmrpd/rde_srt.c
429
srt_set_forwarder_self(rn, iface);
usr.sbin/dvmrpd/rde_srt.c
442
srt_current_forwarder(struct rt_node *rn, struct iface *iface,
usr.sbin/dvmrpd/rde_srt.c
445
struct adv_rtr *adv = &rn->adv_rtr[iface->ifindex];
usr.sbin/dvmrpd/rde_srt.c
449
iface->addr.s_addr < nbr_report))
usr.sbin/dvmrpd/rde_srt.c
450
srt_set_forwarder_self(rn, iface);
usr.sbin/dvmrpd/rde_srt.c
455
if (adv->addr.s_addr == iface->addr.s_addr)
usr.sbin/dvmrpd/rde_srt.c
456
rn->ttls[iface->ifindex] = 0;
usr.sbin/dvmrpd/rde_srt.c
467
srt_update_ds_forwarders(struct rt_node *rn, struct iface *iface,
usr.sbin/dvmrpd/rde_srt.c
47
void srt_set_forwarder_self(struct rt_node *, struct iface *);
usr.sbin/dvmrpd/rde_srt.c
470
struct iface *ifa;
usr.sbin/dvmrpd/rde_srt.c
477
iface->addr.s_addr < nbr_report))) {
usr.sbin/dvmrpd/rde_srt.c
48
void srt_update_ds_forwarders(struct rt_node *, struct iface *,
usr.sbin/dvmrpd/rde_srt.c
485
srt_set_forwarder_self(struct rt_node *rn, struct iface *iface)
usr.sbin/dvmrpd/rde_srt.c
487
rn->adv_rtr[iface->ifindex].addr.s_addr = iface->addr.s_addr;
usr.sbin/dvmrpd/rde_srt.c
488
rn->adv_rtr[iface->ifindex].metric = rn->cost;
usr.sbin/dvmrpd/rde_srt.c
489
rn->ttls[iface->ifindex] = 1;
usr.sbin/dvmrpd/rde_srt.c
50
void srt_current_forwarder(struct rt_node *, struct iface *,
usr.sbin/dvmrpd/rde_srt.c
538
srt_delete_ds(struct rt_node *rn, struct ds_nbr *ds_nbr, struct iface *iface)
usr.sbin/dvmrpd/rde_srt.c
545
rn->ds_cnt[iface->ifindex]--;
usr.sbin/dvmrpd/rde_srt.c
547
srt_check_downstream_ifaces(rn, iface);
usr.sbin/dvmrpd/rde_srt.c
551
srt_check_downstream_ifaces(struct rt_node *rn, struct iface *iface)
usr.sbin/dvmrpd/rde_srt.c
555
if (rn->adv_rtr[iface->ifindex].addr.s_addr != iface->addr.s_addr)
usr.sbin/dvmrpd/rde_srt.c
56
struct iface *);
usr.sbin/dvmrpd/rde_srt.c
560
if (rn->ds_cnt[iface->ifindex])
usr.sbin/dvmrpd/rde_srt.c
565
if (mfc_check_members(rn, iface))
usr.sbin/dvmrpd/rde_srt.c
569
rn->ttls[iface->ifindex] = 0;
usr.sbin/dvmrpd/rde_srt.c
578
struct iface *iface;
usr.sbin/dvmrpd/rde_srt.c
580
iface = if_find_index(ifindex);
usr.sbin/dvmrpd/rde_srt.c
581
if (iface == NULL)
usr.sbin/dvmrpd/rde_srt.c
587
iface->addr.s_addr;
usr.sbin/dvmrpd/rde_srt.c
591
iface->addr.s_addr) {
usr.sbin/dvmrpd/rde_srt.c
594
srt_delete_ds(rn, ds, iface);
usr.sbin/dvmrpd/rde_srt.c
595
srt_check_downstream_ifaces(rn, iface);
usr.sbin/dvmrpd/report.c
139
rr.ifindex = nbr->iface->ifindex;
usr.sbin/dvmrpd/report.c
219
rr_list_send(struct rr_head *rr_list, struct iface *xiface, struct nbr *nbr)
usr.sbin/dvmrpd/report.c
223
struct iface *iface;
usr.sbin/dvmrpd/report.c
231
iface = nbr->iface;
usr.sbin/dvmrpd/report.c
235
iface = xiface;
usr.sbin/dvmrpd/report.c
240
if ((buf = ibuf_open(iface->mtu - sizeof(struct ip))) == NULL)
usr.sbin/dvmrpd/report.c
261
if (iface->ifindex == le->re->ifindex)
usr.sbin/dvmrpd/report.c
286
send_report(iface, addr, ibuf_data(buf), ibuf_size(buf));
usr.sbin/dvmrpd/report.c
40
send_report(struct iface *iface, struct in_addr addr, void *data, int len)
usr.sbin/dvmrpd/report.c
47
iface->name, inet_ntoa(addr));
usr.sbin/dvmrpd/report.c
49
if (iface->passive)
usr.sbin/dvmrpd/report.c
52
if ((buf = ibuf_open(iface->mtu - sizeof(struct ip))) == NULL)
usr.sbin/dvmrpd/report.c
56
if (gen_dvmrp_hdr(buf, iface, DVMRP_CODE_REPORT))
usr.sbin/dvmrpd/report.c
65
ret = send_packet(iface, buf, &dst);
usr.sbin/eigrpctl/eigrpctl.c
301
struct ctl_iface *iface;
usr.sbin/eigrpctl/eigrpctl.c
309
iface = imsg->data;
usr.sbin/eigrpctl/eigrpctl.c
311
if (res->family != AF_UNSPEC && res->family != iface->af)
usr.sbin/eigrpctl/eigrpctl.c
313
if (res->as != 0 && res->as != iface->as)
usr.sbin/eigrpctl/eigrpctl.c
316
if (asprintf(&addr, "%s/%d", log_addr(iface->af, &iface->addr),
usr.sbin/eigrpctl/eigrpctl.c
317
iface->prefixlen) == -1)
usr.sbin/eigrpctl/eigrpctl.c
320
printf("%-4s %-5u %-11s %-18s", af_name(iface->af), iface->as,
usr.sbin/eigrpctl/eigrpctl.c
321
iface->name, addr);
usr.sbin/eigrpctl/eigrpctl.c
324
printf(" %-10s %-8s %3u\n", get_linkstate(iface->if_type,
usr.sbin/eigrpctl/eigrpctl.c
325
iface->linkstate), fmt_timeframe_core(iface->uptime),
usr.sbin/eigrpctl/eigrpctl.c
326
iface->nbr_cnt);
usr.sbin/eigrpctl/eigrpctl.c
342
struct ctl_iface *iface;
usr.sbin/eigrpctl/eigrpctl.c
349
iface = imsg->data;
usr.sbin/eigrpctl/eigrpctl.c
351
if (res->family != AF_UNSPEC && res->family != iface->af)
usr.sbin/eigrpctl/eigrpctl.c
353
if (res->as != 0 && res->as != iface->as)
usr.sbin/eigrpctl/eigrpctl.c
358
iface->name, print_link(iface->flags));
usr.sbin/eigrpctl/eigrpctl.c
360
iface->as, af_name(iface->af));
usr.sbin/eigrpctl/eigrpctl.c
362
log_addr(iface->af, &iface->addr), iface->prefixlen);
usr.sbin/eigrpctl/eigrpctl.c
364
get_linkstate(iface->if_type, iface->linkstate),
usr.sbin/eigrpctl/eigrpctl.c
365
if_type_name(iface->type));
usr.sbin/eigrpctl/eigrpctl.c
367
iface->delay, iface->bandwidth);
usr.sbin/eigrpctl/eigrpctl.c
368
if (iface->passive)
usr.sbin/eigrpctl/eigrpctl.c
372
iface->hello_interval, iface->hello_holdtime);
usr.sbin/eigrpctl/eigrpctl.c
374
(iface->splithorizon) ? "enabled" : "disabled");
usr.sbin/eigrpctl/eigrpctl.c
375
printf(" Neighbor count is %d\n", iface->nbr_cnt);
usr.sbin/eigrpctl/eigrpctl.c
377
printf(" Uptime %s\n", fmt_timeframe_core(iface->uptime));
usr.sbin/eigrpd/eigrpd.c
597
if (eigrp_sendboth(IMSG_RECONF_IFACE, ei->iface,
usr.sbin/eigrpd/eigrpd.c
598
sizeof(struct iface)) == -1)
usr.sbin/eigrpd/eigrpd.c
643
struct iface *iface, *itmp, *xi;
usr.sbin/eigrpd/eigrpd.c
696
TAILQ_FOREACH_SAFE(iface, &conf->iface_list, entry, itmp) {
usr.sbin/eigrpd/eigrpd.c
698
if ((xi = if_lookup(xconf, iface->ifindex)) == NULL) {
usr.sbin/eigrpd/eigrpd.c
699
TAILQ_REMOVE(&conf->iface_list, iface, entry);
usr.sbin/eigrpd/eigrpd.c
700
free(iface);
usr.sbin/eigrpd/eigrpd.c
705
if ((iface = if_lookup(conf, xi->ifindex)) == NULL) {
usr.sbin/eigrpd/eigrpd.h
158
TAILQ_ENTRY(iface) entry;
usr.sbin/eigrpd/eigrpd.h
212
struct iface *iface;
usr.sbin/eigrpd/eigrpd.h
320
TAILQ_HEAD(, iface) iface_list;
usr.sbin/eigrpd/eigrpe.c
219
static struct iface *niface;
usr.sbin/eigrpd/eigrpe.c
225
struct iface *iface = NULL;
usr.sbin/eigrpd/eigrpe.c
258
iface = if_lookup(econf, kif->ifindex);
usr.sbin/eigrpd/eigrpe.c
259
if (!iface)
usr.sbin/eigrpd/eigrpe.c
262
iface->flags = kif->flags;
usr.sbin/eigrpd/eigrpe.c
263
iface->linkstate = kif->link_state;
usr.sbin/eigrpd/eigrpe.c
264
if_update(iface, AF_UNSPEC);
usr.sbin/eigrpd/eigrpe.c
272
iface = if_lookup(econf, ka->ifindex);
usr.sbin/eigrpd/eigrpe.c
273
if (iface == NULL)
usr.sbin/eigrpd/eigrpe.c
276
if_addr_new(iface, ka);
usr.sbin/eigrpd/eigrpe.c
284
iface = if_lookup(econf, ka->ifindex);
usr.sbin/eigrpd/eigrpe.c
285
if (iface == NULL)
usr.sbin/eigrpd/eigrpe.c
288
if_addr_del(iface, ka);
usr.sbin/eigrpd/eigrpe.c
339
if ((niface = malloc(sizeof(struct iface))) == NULL)
usr.sbin/eigrpd/eigrpe.c
341
memcpy(niface, imsg.data, sizeof(struct iface));
usr.sbin/eigrpd/eigrpe.c
354
nei->iface = niface;
usr.sbin/eigrpd/eigrpe.c
625
metric_encode_mtu(rinfo.metric.mtu, ei->iface->mtu);
usr.sbin/eigrpd/eigrpe.c
645
if (idx == 0 || idx == ei->iface->ifindex) {
usr.sbin/eigrpd/eigrpe.h
102
struct eigrp_iface *eigrp_if_lookup(struct iface *, int, uint16_t);
usr.sbin/eigrpd/eigrpe.h
107
int if_set_ipv4_mcast(struct iface *);
usr.sbin/eigrpd/eigrpe.h
111
int if_set_ipv6_mcast(struct iface *);
usr.sbin/eigrpd/eigrpe.h
93
struct iface *if_lookup(struct eigrpd_conf *, unsigned int);
usr.sbin/eigrpd/eigrpe.h
94
void if_addr_new(struct iface *, struct kaddr *);
usr.sbin/eigrpd/eigrpe.h
95
void if_addr_del(struct iface *, struct kaddr *);
usr.sbin/eigrpd/eigrpe.h
96
in_addr_t if_primary_addr(struct iface *);
usr.sbin/eigrpd/eigrpe.h
97
uint8_t if_primary_addr_prefixlen(struct iface *);
usr.sbin/eigrpd/eigrpe.h
98
void if_update(struct iface *, int);
usr.sbin/eigrpd/interface.c
101
log_debug("%s: interface %s", __func__, iface->name);
usr.sbin/eigrpd/interface.c
103
while ((if_addr = TAILQ_FIRST(&iface->addr_list)) != NULL) {
usr.sbin/eigrpd/interface.c
104
TAILQ_REMOVE(&iface->addr_list, if_addr, entry);
usr.sbin/eigrpd/interface.c
108
TAILQ_REMOVE(&econf->iface_list, iface, entry);
usr.sbin/eigrpd/interface.c
109
free(iface);
usr.sbin/eigrpd/interface.c
112
struct iface *
usr.sbin/eigrpd/interface.c
115
struct iface *iface;
usr.sbin/eigrpd/interface.c
117
TAILQ_FOREACH(iface, &xconf->iface_list, entry)
usr.sbin/eigrpd/interface.c
118
if (iface->ifindex == ifindex)
usr.sbin/eigrpd/interface.c
119
return (iface);
usr.sbin/eigrpd/interface.c
125
if_addr_new(struct iface *iface, struct kaddr *ka)
usr.sbin/eigrpd/interface.c
131
iface->linklocal = ka->addr.v6;
usr.sbin/eigrpd/interface.c
132
if_update(iface, AF_INET6);
usr.sbin/eigrpd/interface.c
136
if (if_addr_lookup(&iface->addr_list, ka) != NULL)
usr.sbin/eigrpd/interface.c
145
TAILQ_INSERT_TAIL(&iface->addr_list, if_addr, entry);
usr.sbin/eigrpd/interface.c
147
TAILQ_FOREACH(ei, &iface->ei_list, i_entry)
usr.sbin/eigrpd/interface.c
152
if_update(iface, AF_INET);
usr.sbin/eigrpd/interface.c
156
if_addr_del(struct iface *iface, struct kaddr *ka)
usr.sbin/eigrpd/interface.c
163
IN6_ARE_ADDR_EQUAL(&iface->linklocal, &ka->addr.v6)) {
usr.sbin/eigrpd/interface.c
164
memset(&iface->linklocal, 0, sizeof(iface->linklocal));
usr.sbin/eigrpd/interface.c
165
if_update(iface, AF_INET6);
usr.sbin/eigrpd/interface.c
169
if_addr = if_addr_lookup(&iface->addr_list, ka);
usr.sbin/eigrpd/interface.c
173
TAILQ_FOREACH(ei, &iface->ei_list, i_entry)
usr.sbin/eigrpd/interface.c
177
TAILQ_REMOVE(&iface->addr_list, if_addr, entry);
usr.sbin/eigrpd/interface.c
181
if_update(iface, AF_INET);
usr.sbin/eigrpd/interface.c
200
if_primary_addr(struct iface *iface)
usr.sbin/eigrpd/interface.c
204
TAILQ_FOREACH(if_addr, &iface->addr_list, entry)
usr.sbin/eigrpd/interface.c
212
if_primary_addr_prefixlen(struct iface *iface)
usr.sbin/eigrpd/interface.c
216
TAILQ_FOREACH(if_addr, &iface->addr_list, entry)
usr.sbin/eigrpd/interface.c
225
if_update(struct iface *iface, int af)
usr.sbin/eigrpd/interface.c
232
link_ok = (iface->flags & IFF_UP) &&
usr.sbin/eigrpd/interface.c
233
LINK_STATE_IS_UP(iface->linkstate);
usr.sbin/eigrpd/interface.c
239
TAILQ_FOREACH(if_addr, &iface->addr_list, entry) {
usr.sbin/eigrpd/interface.c
246
if (IN6_IS_ADDR_LINKLOCAL(&iface->linklocal))
usr.sbin/eigrpd/interface.c
249
TAILQ_FOREACH(ei, &iface->ei_list, i_entry) {
usr.sbin/eigrpd/interface.c
281
struct iface *iface;
usr.sbin/eigrpd/interface.c
285
iface = if_lookup(xconf, kif->ifindex);
usr.sbin/eigrpd/interface.c
286
if (iface == NULL)
usr.sbin/eigrpd/interface.c
287
iface = if_new(xconf, kif);
usr.sbin/eigrpd/interface.c
298
ei->iface = iface;
usr.sbin/eigrpd/interface.c
299
if (ei->iface->flags & IFF_LOOPBACK)
usr.sbin/eigrpd/interface.c
306
TAILQ_INSERT_TAIL(&iface->ei_list, ei, i_entry);
usr.sbin/eigrpd/interface.c
321
TAILQ_REMOVE(&ei->iface->ei_list, ei, i_entry);
usr.sbin/eigrpd/interface.c
332
if (TAILQ_EMPTY(&ei->iface->ei_list))
usr.sbin/eigrpd/interface.c
333
if_del(ei->iface);
usr.sbin/eigrpd/interface.c
339
eigrp_if_lookup(struct iface *iface, int af, uint16_t as)
usr.sbin/eigrpd/interface.c
343
TAILQ_FOREACH(ei, &iface->ei_list, i_entry)
usr.sbin/eigrpd/interface.c
367
log_debug("%s: %s as %u family %s", __func__, ei->iface->name,
usr.sbin/eigrpd/interface.c
37
static struct iface *if_new(struct eigrpd_conf *, struct kif *);
usr.sbin/eigrpd/interface.c
378
TAILQ_FOREACH(if_addr, &ei->iface->addr_list, entry) {
usr.sbin/eigrpd/interface.c
38
static void if_del(struct iface *);
usr.sbin/eigrpd/interface.c
390
if (if_join_ipv4_group(ei->iface, &global.mcast_addr_v4))
usr.sbin/eigrpd/interface.c
394
if (if_join_ipv6_group(ei->iface, &global.mcast_addr_v6))
usr.sbin/eigrpd/interface.c
411
log_debug("%s: %s as %u family %s", __func__, ei->iface->name,
usr.sbin/eigrpd/interface.c
425
if_leave_ipv4_group(ei->iface, &global.mcast_addr_v4);
usr.sbin/eigrpd/interface.c
428
if_leave_ipv6_group(ei->iface, &global.mcast_addr_v6);
usr.sbin/eigrpd/interface.c
45
static int if_join_ipv4_group(struct iface *, struct in_addr *);
usr.sbin/eigrpd/interface.c
46
static int if_leave_ipv4_group(struct iface *, struct in_addr *);
usr.sbin/eigrpd/interface.c
47
static int if_join_ipv6_group(struct iface *, struct in6_addr *);
usr.sbin/eigrpd/interface.c
48
static int if_leave_ipv6_group(struct iface *, struct in6_addr *);
usr.sbin/eigrpd/interface.c
481
memcpy(ictl.name, ei->iface->name, sizeof(ictl.name));
usr.sbin/eigrpd/interface.c
482
ictl.ifindex = ei->iface->ifindex;
usr.sbin/eigrpd/interface.c
485
ictl.addr.v4.s_addr = if_primary_addr(ei->iface);
usr.sbin/eigrpd/interface.c
486
ictl.prefixlen = if_primary_addr_prefixlen(ei->iface);
usr.sbin/eigrpd/interface.c
489
ictl.addr.v6 = ei->iface->linklocal;
usr.sbin/eigrpd/interface.c
490
if (!IN6_IS_ADDR_UNSPECIFIED(&ei->iface->linklocal))
usr.sbin/eigrpd/interface.c
498
ictl.flags = ei->iface->flags;
usr.sbin/eigrpd/interface.c
499
ictl.linkstate = ei->iface->linkstate;
usr.sbin/eigrpd/interface.c
500
ictl.mtu = ei->iface->mtu;
usr.sbin/eigrpd/interface.c
501
ictl.type = ei->iface->type;
usr.sbin/eigrpd/interface.c
502
ictl.if_type = ei->iface->if_type;
usr.sbin/eigrpd/interface.c
503
ictl.baudrate = ei->iface->baudrate;
usr.sbin/eigrpd/interface.c
549
if_join_ipv4_group(struct iface *iface, struct in_addr *addr)
usr.sbin/eigrpd/interface.c
553
if (iface->group_count_v4++ != 0)
usr.sbin/eigrpd/interface.c
557
log_debug("%s: interface %s addr %s", __func__, iface->name,
usr.sbin/eigrpd/interface.c
561
mreq.imr_interface.s_addr = if_primary_addr(iface);
usr.sbin/eigrpd/interface.c
566
__func__, iface->name, inet_ntoa(*addr));
usr.sbin/eigrpd/interface.c
574
if_leave_ipv4_group(struct iface *iface, struct in_addr *addr)
usr.sbin/eigrpd/interface.c
578
if (--iface->group_count_v4 != 0)
usr.sbin/eigrpd/interface.c
582
log_debug("%s: interface %s addr %s", __func__, iface->name,
usr.sbin/eigrpd/interface.c
586
mreq.imr_interface.s_addr = if_primary_addr(iface);
usr.sbin/eigrpd/interface.c
591
"address %s", iface->name, __func__, inet_ntoa(*addr));
usr.sbin/eigrpd/interface.c
60
static struct iface *
usr.sbin/eigrpd/interface.c
612
if_set_ipv4_mcast(struct iface *iface)
usr.sbin/eigrpd/interface.c
616
addr = if_primary_addr(iface);
usr.sbin/eigrpd/interface.c
621
__func__, iface->name);
usr.sbin/eigrpd/interface.c
63
struct iface *iface;
usr.sbin/eigrpd/interface.c
65
if ((iface = calloc(1, sizeof(*iface))) == NULL)
usr.sbin/eigrpd/interface.c
667
if_join_ipv6_group(struct iface *iface, struct in6_addr *addr)
usr.sbin/eigrpd/interface.c
671
if (iface->group_count_v6++ != 0)
usr.sbin/eigrpd/interface.c
675
log_debug("%s: interface %s addr %s", __func__, iface->name,
usr.sbin/eigrpd/interface.c
679
mreq.ipv6mr_interface = iface->ifindex;
usr.sbin/eigrpd/interface.c
68
TAILQ_INIT(&iface->ei_list);
usr.sbin/eigrpd/interface.c
684
__func__, iface->name, log_in6addr(addr));
usr.sbin/eigrpd/interface.c
69
TAILQ_INIT(&iface->addr_list);
usr.sbin/eigrpd/interface.c
692
if_leave_ipv6_group(struct iface *iface, struct in6_addr *addr)
usr.sbin/eigrpd/interface.c
696
if (--iface->group_count_v6 != 0)
usr.sbin/eigrpd/interface.c
700
log_debug("%s: interface %s addr %s", __func__, iface->name,
usr.sbin/eigrpd/interface.c
704
mreq.ipv6mr_interface = iface->ifindex;
usr.sbin/eigrpd/interface.c
709
__func__, iface->name, log_in6addr(addr));
usr.sbin/eigrpd/interface.c
71
strlcpy(iface->name, kif->ifname, sizeof(iface->name));
usr.sbin/eigrpd/interface.c
717
if_set_ipv6_mcast(struct iface *iface)
usr.sbin/eigrpd/interface.c
720
&iface->ifindex, sizeof(iface->ifindex)) == -1) {
usr.sbin/eigrpd/interface.c
722
__func__, iface->name);
usr.sbin/eigrpd/interface.c
75
iface->type = IF_TYPE_POINTOPOINT;
usr.sbin/eigrpd/interface.c
78
iface->type = IF_TYPE_BROADCAST;
usr.sbin/eigrpd/interface.c
80
iface->type = IF_TYPE_POINTOPOINT;
usr.sbin/eigrpd/interface.c
83
iface->mtu = kif->mtu;
usr.sbin/eigrpd/interface.c
84
iface->ifindex = kif->ifindex;
usr.sbin/eigrpd/interface.c
85
iface->rdomain = kif->rdomain;
usr.sbin/eigrpd/interface.c
86
iface->flags = kif->flags;
usr.sbin/eigrpd/interface.c
87
iface->linkstate = kif->link_state;
usr.sbin/eigrpd/interface.c
88
iface->if_type = kif->if_type;
usr.sbin/eigrpd/interface.c
89
iface->baudrate = kif->baudrate;
usr.sbin/eigrpd/interface.c
91
TAILQ_INSERT_TAIL(&xconf->iface_list, iface, entry);
usr.sbin/eigrpd/interface.c
93
return (iface);
usr.sbin/eigrpd/interface.c
97
if_del(struct iface *iface)
usr.sbin/eigrpd/neighbor.c
174
i.iface = ei->iface;
usr.sbin/eigrpd/neighbor.c
197
memcpy(nctl.ifname, nbr->ei->iface->name, sizeof(nctl.ifname));
usr.sbin/eigrpd/neighbor.c
43
if (a->ei->iface->ifindex < b->ei->iface->ifindex)
usr.sbin/eigrpd/neighbor.c
45
if (a->ei->iface->ifindex > b->ei->iface->ifindex)
usr.sbin/eigrpd/neighbor.c
66
ei->iface->name, log_addr(eigrp->af, addr), eigrp->as);
usr.sbin/eigrpd/packet.c
110
if (if_set_ipv4_mcast(iface) == -1) {
usr.sbin/eigrpd/packet.c
112
__func__, iface->name);
usr.sbin/eigrpd/packet.c
118
__func__, iface->name);
usr.sbin/eigrpd/packet.c
126
send_packet_v6(struct iface *iface, struct nbr *nbr, struct ibuf *buf)
usr.sbin/eigrpd/packet.c
136
addscope(&sa6, iface->ifindex);
usr.sbin/eigrpd/packet.c
142
if (if_set_ipv6_mcast(iface) == -1) {
usr.sbin/eigrpd/packet.c
144
__func__, iface->name);
usr.sbin/eigrpd/packet.c
151
__func__, iface->name);
usr.sbin/eigrpd/packet.c
163
struct iface *iface = ei->iface;
usr.sbin/eigrpd/packet.c
167
if (!(iface->flags & IFF_UP) || !LINK_STATE_IS_UP(iface->linkstate))
usr.sbin/eigrpd/packet.c
206
__func__, opcode_name(eigrp_hdr.opcode), iface->name,
usr.sbin/eigrpd/packet.c
213
if (send_packet_v4(iface, nbr, buf) < 0)
usr.sbin/eigrpd/packet.c
217
if (send_packet_v6(iface, nbr, buf) < 0)
usr.sbin/eigrpd/packet.c
279
if_primary_addr(nbr->ei->iface)) {
usr.sbin/eigrpd/packet.c
286
&nbr->ei->iface->linklocal)) {
usr.sbin/eigrpd/packet.c
326
struct iface *iface, struct eigrp_hdr *eigrp_hdr, char *buf, uint16_t len)
usr.sbin/eigrpd/packet.c
339
if (eigrp_hdr_sanity_check(af, dest, eigrp_hdr, len, iface) == -1)
usr.sbin/eigrpd/packet.c
36
static int send_packet_v4(struct iface *, struct nbr *, struct ibuf *);
usr.sbin/eigrpd/packet.c
37
static int send_packet_v6(struct iface *, struct nbr *, struct ibuf *);
usr.sbin/eigrpd/packet.c
41
union eigrpd_addr *, struct iface *, struct eigrp_hdr *,
usr.sbin/eigrpd/packet.c
418
ei = eigrp_if_lookup(iface, af, ntohs(eigrp_hdr->as));
usr.sbin/eigrpd/packet.c
44
struct eigrp_hdr *, uint16_t, const struct iface *);
usr.sbin/eigrpd/packet.c
45
static struct iface *find_iface(unsigned int, int, union eigrpd_addr *);
usr.sbin/eigrpd/packet.c
469
__func__, iface->name);
usr.sbin/eigrpd/packet.c
499
struct iface *iface;
usr.sbin/eigrpd/packet.c
550
if ((iface = find_iface(ifindex, af, &src)) == NULL)
usr.sbin/eigrpd/packet.c
581
TAILQ_FOREACH(if_addr, &iface->addr_list, entry)
usr.sbin/eigrpd/packet.c
590
inet_ntoa(dest.v4), iface->name);
usr.sbin/eigrpd/packet.c
601
!IN6_ARE_ADDR_EQUAL(&dest.v6, &iface->linklocal)) {
usr.sbin/eigrpd/packet.c
604
iface->name);
usr.sbin/eigrpd/packet.c
619
recv_packet_eigrp(af, &src, &dest, iface, eigrp_hdr, buf, len);
usr.sbin/eigrpd/packet.c
624
struct eigrp_hdr *eigrp_hdr, uint16_t len, const struct iface *iface)
usr.sbin/eigrpd/packet.c
628
iface->name);
usr.sbin/eigrpd/packet.c
634
__func__, eigrp_hdr->version, iface->name);
usr.sbin/eigrpd/packet.c
640
__func__, ntohs(eigrp_hdr->vrid), iface->name);
usr.sbin/eigrpd/packet.c
650
"interface %s", __func__, iface->name);
usr.sbin/eigrpd/packet.c
657
"interface %s", __func__, iface->name);
usr.sbin/eigrpd/packet.c
669
static struct iface *
usr.sbin/eigrpd/packet.c
672
struct iface *iface;
usr.sbin/eigrpd/packet.c
676
iface = if_lookup(econf, ifindex);
usr.sbin/eigrpd/packet.c
677
if (iface == NULL)
usr.sbin/eigrpd/packet.c
68
send_packet_v4(struct iface *iface, struct nbr *nbr, struct ibuf *buf)
usr.sbin/eigrpd/packet.c
690
TAILQ_FOREACH(if_addr, &iface->addr_list, entry) {
usr.sbin/eigrpd/packet.c
696
return (iface);
usr.sbin/eigrpd/packet.c
707
return (iface);
usr.sbin/eigrpd/packet.c
94
ip_hdr.ip_src.s_addr = if_primary_addr(iface);
usr.sbin/eigrpd/parse.y
1168
if (e->iface->ifindex == kif->ifindex) {
usr.sbin/eigrpd/parse.y
1184
struct iface *iface;
usr.sbin/eigrpd/parse.y
1187
TAILQ_FOREACH(iface, &conf->iface_list, entry) {
usr.sbin/eigrpd/parse.y
1188
if (iface->rdomain != rdomain) {
usr.sbin/eigrpd/parse.y
1190
iface->name, rdomain);
usr.sbin/eigrpd/parse.y
1221
if (TAILQ_EMPTY(&i->iface->ei_list)) {
usr.sbin/eigrpd/parse.y
1222
TAILQ_REMOVE(&xconf->iface_list, i->iface, entry);
usr.sbin/eigrpd/parse.y
1223
free(i->iface);
usr.sbin/eigrpd/printconf.c
116
printf("\t\tinterface %s {\n", ei->iface->name);
usr.sbin/eigrpd/query.c
75
if (size + route_len > ei->iface->mtu) {
usr.sbin/eigrpd/rde.c
304
static struct iface *niface;
usr.sbin/eigrpd/rde.c
407
if ((niface = malloc(sizeof(struct iface))) == NULL)
usr.sbin/eigrpd/rde.c
409
memcpy(niface, imsg.data, sizeof(struct iface));
usr.sbin/eigrpd/rde.c
422
nei->iface = niface;
usr.sbin/eigrpd/rde.c
505
kr.ifindex = route->nbr->ei->iface->ifindex;
usr.sbin/eigrpd/rde.c
550
kr.ifindex = route->nbr->ei->iface->ifindex;
usr.sbin/eigrpd/rde.c
758
memcpy(rtctl.ifname, route->nbr->ei->iface->name,
usr.sbin/eigrpd/rde_dual.c
1253
if (nbr->ei->iface->ifindex == ifindex)
usr.sbin/eigrpd/rde_dual.c
429
mtu = min(metric_decode_mtu(route->metric.mtu), ei->iface->mtu);
usr.sbin/eigrpd/reply.c
74
if (size + route_len > nbr->ei->iface->mtu) {
usr.sbin/eigrpd/update.c
70
if (size + route_len > ei->iface->mtu) {
usr.sbin/ldpctl/ldpctl.c
330
struct ctl_iface *iface;
usr.sbin/ldpctl/ldpctl.c
335
iface = imsg->data;
usr.sbin/ldpctl/ldpctl.c
337
if (res->family != AF_UNSPEC && res->family != iface->af)
usr.sbin/ldpctl/ldpctl.c
340
if (asprintf(&timers, "%u/%u", iface->hello_interval,
usr.sbin/ldpctl/ldpctl.c
341
iface->hello_holdtime) == -1)
usr.sbin/ldpctl/ldpctl.c
345
af_name(iface->af), iface->name,
usr.sbin/ldpctl/ldpctl.c
346
if_state_name(iface->state), get_linkstate(iface->if_type,
usr.sbin/ldpctl/ldpctl.c
347
iface->linkstate), iface->uptime == 0 ? "00:00:00" :
usr.sbin/ldpctl/ldpctl.c
348
fmt_timeframe_core(iface->uptime), timers, iface->adj_cnt);
usr.sbin/ldpd/adjacency.c
336
memcpy(actl.ifname, adj->source.link.ia->iface->name,
usr.sbin/ldpd/hello.c
150
union ldpd_addr *src, struct iface *iface, int multicast, char *buf,
usr.sbin/ldpd/hello.c
228
scope_id = iface->ifindex;
usr.sbin/ldpd/hello.c
270
ia = iface_af_get(iface, af);
usr.sbin/ldpd/interface.c
104
struct iface *
usr.sbin/ldpd/interface.c
107
struct iface *iface;
usr.sbin/ldpd/interface.c
109
LIST_FOREACH(iface, &xconf->iface_list, entry)
usr.sbin/ldpd/interface.c
110
if (iface->ifindex == ifindex)
usr.sbin/ldpd/interface.c
111
return (iface);
usr.sbin/ldpd/interface.c
117
iface_af_get(struct iface *iface, int af)
usr.sbin/ldpd/interface.c
121
return (&iface->ipv4);
usr.sbin/ldpd/interface.c
123
return (&iface->ipv6);
usr.sbin/ldpd/interface.c
163
struct iface *iface;
usr.sbin/ldpd/interface.c
183
iface = if_lookup(leconf, ka->ifindex);
usr.sbin/ldpd/interface.c
184
if (iface) {
usr.sbin/ldpd/interface.c
186
iface->linklocal = ka->addr.v6;
usr.sbin/ldpd/interface.c
188
if (if_addr_lookup(&iface->addr_list, ka) == NULL) {
usr.sbin/ldpd/interface.c
190
LIST_INSERT_HEAD(&iface->addr_list, if_addr, entry);
usr.sbin/ldpd/interface.c
191
if_update(iface, if_addr->af);
usr.sbin/ldpd/interface.c
199
struct iface *iface;
usr.sbin/ldpd/interface.c
203
iface = if_lookup(leconf, ka->ifindex);
usr.sbin/ldpd/interface.c
204
if (iface) {
usr.sbin/ldpd/interface.c
206
IN6_ARE_ADDR_EQUAL(&iface->linklocal, &ka->addr.v6))
usr.sbin/ldpd/interface.c
207
memset(&iface->linklocal, 0, sizeof(iface->linklocal));
usr.sbin/ldpd/interface.c
209
if_addr = if_addr_lookup(&iface->addr_list, ka);
usr.sbin/ldpd/interface.c
212
if_update(iface, if_addr->af);
usr.sbin/ldpd/interface.c
234
if_start(struct iface *iface, int af)
usr.sbin/ldpd/interface.c
239
log_debug("%s: %s address-family %s", __func__, iface->name,
usr.sbin/ldpd/interface.c
242
ia = iface_af_get(iface, af);
usr.sbin/ldpd/interface.c
249
if (if_join_ipv4_group(iface, &global.mcast_addr_v4))
usr.sbin/ldpd/interface.c
253
if (if_join_ipv6_group(iface, &global.mcast_addr_v6))
usr.sbin/ldpd/interface.c
268
if_reset(struct iface *iface, int af)
usr.sbin/ldpd/interface.c
273
log_debug("%s: %s address-family %s", __func__, iface->name,
usr.sbin/ldpd/interface.c
276
ia = iface_af_get(iface, af);
usr.sbin/ldpd/interface.c
286
if_leave_ipv4_group(iface, &global.mcast_addr_v4);
usr.sbin/ldpd/interface.c
290
if_leave_ipv6_group(iface, &global.mcast_addr_v6);
usr.sbin/ldpd/interface.c
311
LIST_FOREACH(if_addr, &ia->iface->addr_list, entry) {
usr.sbin/ldpd/interface.c
320
if (IN6_IS_ADDR_LINKLOCAL(&ia->iface->linklocal))
usr.sbin/ldpd/interface.c
33
static int if_start(struct iface *, int);
usr.sbin/ldpd/interface.c
34
static int if_reset(struct iface *, int);
usr.sbin/ldpd/interface.c
343
if_start(ia->iface, ia->af);
usr.sbin/ldpd/interface.c
349
if_reset(ia->iface, ia->af);
usr.sbin/ldpd/interface.c
354
if_update(struct iface *iface, int af)
usr.sbin/ldpd/interface.c
358
link_ok = (iface->flags & IFF_UP) &&
usr.sbin/ldpd/interface.c
359
LINK_STATE_IS_UP(iface->linkstate);
usr.sbin/ldpd/interface.c
362
if_update_af(&iface->ipv4, link_ok);
usr.sbin/ldpd/interface.c
364
if_update_af(&iface->ipv6, link_ok);
usr.sbin/ldpd/interface.c
370
struct iface *iface;
usr.sbin/ldpd/interface.c
372
LIST_FOREACH(iface, &leconf->iface_list, entry)
usr.sbin/ldpd/interface.c
373
if_update(iface, af);
usr.sbin/ldpd/interface.c
39
static int if_join_ipv4_group(struct iface *, struct in_addr *);
usr.sbin/ldpd/interface.c
40
static int if_leave_ipv4_group(struct iface *, struct in_addr *);
usr.sbin/ldpd/interface.c
41
static int if_join_ipv6_group(struct iface *, struct in6_addr *);
usr.sbin/ldpd/interface.c
413
memcpy(ictl.name, ia->iface->name, sizeof(ictl.name));
usr.sbin/ldpd/interface.c
414
ictl.ifindex = ia->iface->ifindex;
usr.sbin/ldpd/interface.c
416
ictl.flags = ia->iface->flags;
usr.sbin/ldpd/interface.c
417
ictl.linkstate = ia->iface->linkstate;
usr.sbin/ldpd/interface.c
418
ictl.type = ia->iface->type;
usr.sbin/ldpd/interface.c
419
ictl.if_type = ia->iface->if_type;
usr.sbin/ldpd/interface.c
42
static int if_leave_ipv6_group(struct iface *, struct in6_addr *);
usr.sbin/ldpd/interface.c
439
if_get_ipv4_addr(struct iface *iface)
usr.sbin/ldpd/interface.c
44
struct iface *
usr.sbin/ldpd/interface.c
443
LIST_FOREACH(if_addr, &iface->addr_list, entry)
usr.sbin/ldpd/interface.c
451
if_join_ipv4_group(struct iface *iface, struct in_addr *addr)
usr.sbin/ldpd/interface.c
455
log_debug("%s: interface %s addr %s", __func__, iface->name,
usr.sbin/ldpd/interface.c
459
mreq.imr_interface.s_addr = if_get_ipv4_addr(iface);
usr.sbin/ldpd/interface.c
464
__func__, iface->name, inet_ntoa(*addr));
usr.sbin/ldpd/interface.c
47
struct iface *iface;
usr.sbin/ldpd/interface.c
471
if_leave_ipv4_group(struct iface *iface, struct in_addr *addr)
usr.sbin/ldpd/interface.c
475
log_debug("%s: interface %s addr %s", __func__, iface->name,
usr.sbin/ldpd/interface.c
479
mreq.imr_interface.s_addr = if_get_ipv4_addr(iface);
usr.sbin/ldpd/interface.c
484
"address %s", __func__, iface->name, inet_ntoa(*addr));
usr.sbin/ldpd/interface.c
49
if ((iface = calloc(1, sizeof(*iface))) == NULL)
usr.sbin/ldpd/interface.c
492
if_join_ipv6_group(struct iface *iface, struct in6_addr *addr)
usr.sbin/ldpd/interface.c
496
log_debug("%s: interface %s addr %s", __func__, iface->name,
usr.sbin/ldpd/interface.c
500
mreq.ipv6mr_interface = iface->ifindex;
usr.sbin/ldpd/interface.c
505
__func__, iface->name, log_in6addr(addr));
usr.sbin/ldpd/interface.c
513
if_leave_ipv6_group(struct iface *iface, struct in6_addr *addr)
usr.sbin/ldpd/interface.c
517
log_debug("%s: interface %s addr %s", __func__, iface->name,
usr.sbin/ldpd/interface.c
52
strlcpy(iface->name, kif->ifname, sizeof(iface->name));
usr.sbin/ldpd/interface.c
521
mreq.ipv6mr_interface = iface->ifindex;
usr.sbin/ldpd/interface.c
526
__func__, iface->name, log_in6addr(addr));
usr.sbin/ldpd/interface.c
56
iface->type = IF_TYPE_POINTOPOINT;
usr.sbin/ldpd/interface.c
59
iface->type = IF_TYPE_BROADCAST;
usr.sbin/ldpd/interface.c
62
LIST_INIT(&iface->addr_list);
usr.sbin/ldpd/interface.c
63
iface->ifindex = kif->ifindex;
usr.sbin/ldpd/interface.c
64
iface->rdomain = kif->rdomain;
usr.sbin/ldpd/interface.c
65
iface->flags = kif->flags;
usr.sbin/ldpd/interface.c
66
iface->linkstate = kif->link_state;
usr.sbin/ldpd/interface.c
67
iface->if_type = kif->if_type;
usr.sbin/ldpd/interface.c
70
iface->ipv4.af = AF_INET;
usr.sbin/ldpd/interface.c
71
iface->ipv4.iface = iface;
usr.sbin/ldpd/interface.c
72
iface->ipv4.enabled = 0;
usr.sbin/ldpd/interface.c
73
iface->ipv4.state = IF_STA_DOWN;
usr.sbin/ldpd/interface.c
74
LIST_INIT(&iface->ipv4.adj_list);
usr.sbin/ldpd/interface.c
77
iface->ipv6.af = AF_INET6;
usr.sbin/ldpd/interface.c
78
iface->ipv6.iface = iface;
usr.sbin/ldpd/interface.c
79
iface->ipv6.enabled = 0;
usr.sbin/ldpd/interface.c
80
iface->ipv6.state = IF_STA_DOWN;
usr.sbin/ldpd/interface.c
81
LIST_INIT(&iface->ipv6.adj_list);
usr.sbin/ldpd/interface.c
83
return (iface);
usr.sbin/ldpd/interface.c
87
if_exit(struct iface *iface)
usr.sbin/ldpd/interface.c
91
log_debug("%s: interface %s", __func__, iface->name);
usr.sbin/ldpd/interface.c
93
if (iface->ipv4.state == IF_STA_ACTIVE)
usr.sbin/ldpd/interface.c
94
if_reset(iface, AF_INET);
usr.sbin/ldpd/interface.c
95
if (iface->ipv6.state == IF_STA_ACTIVE)
usr.sbin/ldpd/interface.c
96
if_reset(iface, AF_INET6);
usr.sbin/ldpd/interface.c
98
while ((if_addr = LIST_FIRST(&iface->addr_list)) != NULL) {
usr.sbin/ldpd/lde.c
385
struct iface *niface;
usr.sbin/ldpd/lde.c
490
if ((niface = malloc(sizeof(struct iface))) == NULL)
usr.sbin/ldpd/lde.c
492
memcpy(niface, imsg.data, sizeof(struct iface));
usr.sbin/ldpd/lde.c
497
niface->ipv4.iface = niface;
usr.sbin/ldpd/lde.c
498
niface->ipv6.iface = niface;
usr.sbin/ldpd/ldpd.c
696
struct iface *iface;
usr.sbin/ldpd/ldpd.c
714
LIST_FOREACH(iface, &xconf->iface_list, entry) {
usr.sbin/ldpd/ldpd.c
715
if (main_imsg_compose_both(IMSG_RECONF_IFACE, iface,
usr.sbin/ldpd/ldpd.c
716
sizeof(*iface)) == -1)
usr.sbin/ldpd/ldpd.c
883
struct iface *iface, *itmp, *xi;
usr.sbin/ldpd/ldpd.c
885
LIST_FOREACH_SAFE(iface, &conf->iface_list, entry, itmp) {
usr.sbin/ldpd/ldpd.c
887
if ((xi = if_lookup(xconf, iface->ifindex)) == NULL) {
usr.sbin/ldpd/ldpd.c
888
LIST_REMOVE(iface, entry);
usr.sbin/ldpd/ldpd.c
890
if_exit(iface);
usr.sbin/ldpd/ldpd.c
891
free(iface);
usr.sbin/ldpd/ldpd.c
896
if ((iface = if_lookup(conf, xi->ifindex)) == NULL) {
usr.sbin/ldpd/ldpd.c
907
merge_iface_af(&iface->ipv4, &xi->ipv4);
usr.sbin/ldpd/ldpd.c
908
merge_iface_af(&iface->ipv6, &xi->ipv6);
usr.sbin/ldpd/ldpd.c
920
if_update(ia->iface, ia->af);
usr.sbin/ldpd/ldpd.h
263
struct iface *iface;
usr.sbin/ldpd/ldpd.h
275
LIST_ENTRY(iface) entry;
usr.sbin/ldpd/ldpd.h
408
LIST_HEAD(, iface) iface_list;
usr.sbin/ldpd/ldpd.h
619
int sock_set_ipv4_mcast(struct iface *);
usr.sbin/ldpd/ldpd.h
626
int sock_set_ipv6_mcast(struct iface *);
usr.sbin/ldpd/ldpe.c
216
struct iface *niface;
usr.sbin/ldpd/ldpe.c
225
struct iface *iface = NULL;
usr.sbin/ldpd/ldpe.c
263
iface = if_lookup(leconf, kif->ifindex);
usr.sbin/ldpd/ldpe.c
264
if (iface) {
usr.sbin/ldpd/ldpe.c
265
iface->flags = kif->flags;
usr.sbin/ldpd/ldpe.c
266
iface->linkstate = kif->link_state;
usr.sbin/ldpd/ldpe.c
267
if_update(iface, AF_UNSPEC);
usr.sbin/ldpd/ldpe.c
399
if ((niface = malloc(sizeof(struct iface))) == NULL)
usr.sbin/ldpd/ldpe.c
401
memcpy(niface, imsg.data, sizeof(struct iface));
usr.sbin/ldpd/ldpe.c
406
niface->ipv4.iface = niface;
usr.sbin/ldpd/ldpe.c
407
niface->ipv6.iface = niface;
usr.sbin/ldpd/ldpe.c
744
struct iface *iface;
usr.sbin/ldpd/ldpe.c
748
LIST_FOREACH(iface, &leconf->iface_list, entry) {
usr.sbin/ldpd/ldpe.c
749
if (idx == 0 || idx == iface->ifindex) {
usr.sbin/ldpd/ldpe.c
750
ia = iface_af_get(iface, af);
usr.sbin/ldpd/ldpe.h
158
struct iface *, int, char *, uint16_t);
usr.sbin/ldpd/ldpe.h
211
struct iface *if_new(struct kif *);
usr.sbin/ldpd/ldpe.h
212
void if_exit(struct iface *);
usr.sbin/ldpd/ldpe.h
213
struct iface *if_lookup(struct ldpd_conf *, unsigned short);
usr.sbin/ldpd/ldpe.h
214
struct iface_af *iface_af_get(struct iface *, int);
usr.sbin/ldpd/ldpe.h
217
void if_update(struct iface *, int);
usr.sbin/ldpd/ldpe.h
220
in_addr_t if_get_ipv4_addr(struct iface *);
usr.sbin/ldpd/logmsg.c
143
src->link.ia->iface->name);
usr.sbin/ldpd/packet.c
137
struct iface *iface;
usr.sbin/ldpd/packet.c
195
iface = disc_find_iface(ifindex, af, &src, multicast);
usr.sbin/ldpd/packet.c
196
if (iface == NULL)
usr.sbin/ldpd/packet.c
252
recv_hello(lsr_id, &msg, af, &src, iface, multicast, buf, len);
usr.sbin/ldpd/packet.c
260
static struct iface *
usr.sbin/ldpd/packet.c
264
struct iface *iface;
usr.sbin/ldpd/packet.c
269
iface = if_lookup(leconf, ifindex);
usr.sbin/ldpd/packet.c
270
if (iface == NULL)
usr.sbin/ldpd/packet.c
278
ia = iface_af_get(iface, af);
usr.sbin/ldpd/packet.c
280
return (iface);
usr.sbin/ldpd/packet.c
286
LIST_FOREACH(if_addr, &iface->addr_list, entry) {
usr.sbin/ldpd/packet.c
290
switch (iface->type) {
usr.sbin/ldpd/packet.c
293
return (iface);
usr.sbin/ldpd/packet.c
299
return (iface);
usr.sbin/ldpd/packet.c
306
return (iface);
usr.sbin/ldpd/packet.c
35
static struct iface *disc_find_iface(unsigned int, int,
usr.sbin/ldpd/packet.c
87
if (sock_set_ipv4_mcast(ia->iface) == -1) {
usr.sbin/ldpd/packet.c
89
"interface, %s", __func__, ia->iface->name);
usr.sbin/ldpd/packet.c
97
if (sock_set_ipv6_mcast(ia->iface) == -1) {
usr.sbin/ldpd/packet.c
99
"interface, %s", __func__, ia->iface->name);
usr.sbin/ldpd/parse.y
105
static struct iface *conf_get_if(struct kif *);
usr.sbin/ldpd/parse.y
126
static struct iface *iface;
usr.sbin/ldpd/parse.y
1438
static struct iface *
usr.sbin/ldpd/parse.y
1441
struct iface *i;
usr.sbin/ldpd/parse.y
1523
struct iface *i;
usr.sbin/ldpd/parse.y
1578
struct iface *i;
usr.sbin/ldpd/parse.y
1595
struct iface *i;
usr.sbin/ldpd/parse.y
766
iface = conf_get_if(kif);
usr.sbin/ldpd/parse.y
767
if (iface == NULL)
usr.sbin/ldpd/parse.y
770
ia = iface_af_get(iface, af);
usr.sbin/ldpd/parse.y
784
iface = NULL;
usr.sbin/ldpd/printconf.c
103
print_iface(struct iface *iface, struct iface_af *ia)
usr.sbin/ldpd/printconf.c
105
printf("\tinterface %s {\n", iface->name);
usr.sbin/ldpd/printconf.c
34
static void print_iface(struct iface *, struct iface_af *);
usr.sbin/ldpd/printconf.c
65
struct iface *iface;
usr.sbin/ldpd/printconf.c
89
LIST_FOREACH(iface, &conf->iface_list, entry) {
usr.sbin/ldpd/printconf.c
90
ia = iface_af_get(iface, af);
usr.sbin/ldpd/printconf.c
92
print_iface(iface, ia);
usr.sbin/ldpd/socket.c
276
sock_set_ipv4_mcast(struct iface *iface)
usr.sbin/ldpd/socket.c
280
addr = if_get_ipv4_addr(iface);
usr.sbin/ldpd/socket.c
285
__func__, iface->name);
usr.sbin/ldpd/socket.c
367
sock_set_ipv6_mcast(struct iface *iface)
usr.sbin/ldpd/socket.c
370
IPV6_MULTICAST_IF, &iface->ifindex, sizeof(iface->ifindex)) == -1) {
usr.sbin/ldpd/socket.c
372
__func__, iface->name);
usr.sbin/lldpd/lldpd.c
1070
struct iface *ifp;
usr.sbin/lldpd/lldpd.c
1136
struct iface *ifp;
usr.sbin/lldpd/lldpd.c
1227
struct iface *ifp;
usr.sbin/lldpd/lldpd.c
124
RBT_ENTRY(iface) if_entry;
usr.sbin/lldpd/lldpd.c
1284
RBT_GENERATE(ifaces, iface, if_entry, iface_cmp);
usr.sbin/lldpd/lldpd.c
132
RBT_HEAD(ifaces, iface);
usr.sbin/lldpd/lldpd.c
136
iface_cmp(const struct iface *a, const struct iface *b)
usr.sbin/lldpd/lldpd.c
148
RBT_PROTOTYPE(ifaces, iface, if_entry, iface_cmp);
usr.sbin/lldpd/lldpd.c
293
agent_counter_inc(struct lldpd *lldpd, struct iface *ifp,
usr.sbin/lldpd/lldpd.c
318
lldp_msap_remove(struct iface *ifp, struct lldp_msap *msap)
usr.sbin/lldpd/lldpd.c
330
struct iface *ifp = msap->msap_iface;
usr.sbin/lldpd/lldpd.c
359
static inline struct iface *
usr.sbin/lldpd/lldpd.c
360
iface_insert(struct lldpd *lldpd, struct iface *ifp)
usr.sbin/lldpd/lldpd.c
365
static struct iface *
usr.sbin/lldpd/lldpd.c
370
return (RBT_FIND(ifaces, &lldpd->ifaces, (struct iface *)&key));
usr.sbin/lldpd/lldpd.c
374
iface_remove(struct lldpd *lldpd, struct iface *ifp)
usr.sbin/lldpd/lldpd.c
384
struct iface *ifp;
usr.sbin/lldpd/lldpd.c
438
struct iface *ifp;
usr.sbin/lldpd/lldpd.c
588
struct iface *ifp;
usr.sbin/lldpd/lldpd.c
618
ifp = RBT_FIND(ifaces, &lldpd->ifaces, (struct iface *)&key);
usr.sbin/lldpd/lldpd.c
85
struct iface;
usr.sbin/lldpd/lldpd.c
88
struct iface *msap_iface;
usr.sbin/npppd/npppd/npppd.c
1009
req->pr_ip_srcaddr = ppp->pppd->iface[0].ip4addr;
usr.sbin/npppd/npppd/npppd.c
1155
if ((error = ioctl(_this->iface[ppp->ifidx].devf, PIPEXASESSION, &req))
usr.sbin/npppd/npppd/npppd.c
1163
if (_this->iface[ppp->ifidx].using_pppx) {
usr.sbin/npppd/npppd/npppd.c
1170
error = ioctl(_this->iface[ppp->ifidx].devf, PIPEXSIFDESCR, &descr_req);
usr.sbin/npppd/npppd/npppd.c
1238
error = ioctl(_this->iface[ppp->ifidx].devf, PIPEXDSESSION, &req);
usr.sbin/npppd/npppd/npppd.c
1265
for (i = 0; i < nitems(_this->iface); i++) {
usr.sbin/npppd/npppd/npppd.c
1266
if (_this->iface[i].initialized != 0) {
usr.sbin/npppd/npppd/npppd.c
1267
devf = _this->iface[i].devf;
usr.sbin/npppd/npppd/npppd.c
1347
else if (npppd_iface_ip_is_ready(&_this->iface[0]))
usr.sbin/npppd/npppd/npppd.c
1348
ppp->ipcp.ip4_our = _this->iface[0].ip4addr;
usr.sbin/npppd/npppd/npppd.c
1425
if (_this->iface[ppp->ifidx].using_pppx == 0) {
usr.sbin/npppd/npppd/npppd.c
1451
if (_this->iface[ppp->ifidx].using_pppx == 0) {
usr.sbin/npppd/npppd/npppd.c
1760
if (_this->iface[0].using_pppx == 0) {
usr.sbin/npppd/npppd/npppd.c
1892
for (i = 0; i < countof(_this->iface); i++) {
usr.sbin/npppd/npppd/npppd.c
1893
if (_this->iface[i].initialized != 0 &&
usr.sbin/npppd/npppd/npppd.c
1894
_this->iface[i].started == 0)
usr.sbin/npppd/npppd/npppd.c
1895
npppd_iface_start(&_this->iface[i]);
usr.sbin/npppd/npppd/npppd.c
1906
if (_this->iface[i].initialized == 0)
usr.sbin/npppd/npppd/npppd.c
1908
if (_this->iface[i].ipcpconf == NULL)
usr.sbin/npppd/npppd/npppd.c
1914
if (strcmp(_this->iface[i].ipcpconf->name,
usr.sbin/npppd/npppd/npppd.c
2167
for (i = 0; i < countof(_this->iface); i++) {
usr.sbin/npppd/npppd/npppd.c
2168
if (_this->iface[i].initialized == 0)
usr.sbin/npppd/npppd/npppd.c
2170
if (strcmp(_this->iface[i].ifname, bind->iface->name) == 0)
usr.sbin/npppd/npppd/npppd.c
368
for (i = 0; i < countof(_this->iface); i++) {
usr.sbin/npppd/npppd/npppd.c
369
if (_this->iface[i].initialized != 0)
usr.sbin/npppd/npppd/npppd.c
370
status |= npppd_iface_start(&_this->iface[i]);
usr.sbin/npppd/npppd/npppd.c
439
for (i = countof(_this->iface) - 1; i >= 0; i--) {
usr.sbin/npppd/npppd/npppd.c
440
if (_this->iface[i].initialized != 0)
usr.sbin/npppd/npppd/npppd.c
441
npppd_iface_stop(&_this->iface[i]);
usr.sbin/npppd/npppd/npppd.c
475
for (i = countof(_this->iface) - 1; i >= 0; i--) {
usr.sbin/npppd/npppd/npppd.c
476
npppd_iface_fini(&_this->iface[i]);
usr.sbin/npppd/npppd/npppd.c
502
for (i = countof(_this->iface) - 1; i >= 0; i--) {
usr.sbin/npppd/npppd/npppd.c
503
if (_this->iface[i].initialized != 0)
usr.sbin/npppd/npppd/npppd.c
504
npppd_iface_fini(&_this->iface[i]);
usr.sbin/npppd/npppd/npppd.c
587
if (_this->iface[0].using_pppx)
usr.sbin/npppd/npppd/npppd.h
208
TAILQ_ENTRY(iface) entry;
usr.sbin/npppd/npppd/npppd.h
219
struct iface *iface;
usr.sbin/npppd/npppd/npppd.h
228
TAILQ_HEAD(ifaces, iface) ifaces;
usr.sbin/npppd/npppd/npppd_config.c
334
struct iface *iface;
usr.sbin/npppd/npppd/npppd_config.c
337
for (i = 0; i < countof(_this->iface); i++) {
usr.sbin/npppd/npppd/npppd_config.c
338
if (_this->iface[i].initialized == 0)
usr.sbin/npppd/npppd/npppd_config.c
340
TAILQ_FOREACH(iface, &_this->conf.ifaces, entry) {
usr.sbin/npppd/npppd/npppd_config.c
341
if (strcmp(_this->iface[i].ifname, iface->name) == 0)
usr.sbin/npppd/npppd/npppd_config.c
344
if (iface == NULL) {
usr.sbin/npppd/npppd/npppd_config.c
345
npppd_iface_stop(&_this->iface[i]);
usr.sbin/npppd/npppd/npppd_config.c
346
npppd_iface_fini(&_this->iface[i]);
usr.sbin/npppd/npppd/npppd_config.c
349
TAILQ_FOREACH(iface, &_this->conf.ifaces, entry) {
usr.sbin/npppd/npppd/npppd_config.c
352
for (i = 0; i < countof(_this->iface); i++) {
usr.sbin/npppd/npppd/npppd_config.c
353
if (_this->iface[i].initialized == 0) {
usr.sbin/npppd/npppd/npppd_config.c
355
niface = &_this->iface[i];
usr.sbin/npppd/npppd/npppd_config.c
358
if (strcmp(_this->iface[i].ifname, iface->name) == 0) {
usr.sbin/npppd/npppd/npppd_config.c
359
niface = &_this->iface[i];
usr.sbin/npppd/npppd/npppd_config.c
366
(int)countof(_this->iface));
usr.sbin/npppd/npppd/npppd_config.c
370
npppd_iface_init(_this, niface, iface);
usr.sbin/npppd/npppd/npppd_config.c
372
npppd_iface_reinit(niface, iface);
usr.sbin/npppd/npppd/npppd_ctl.c
269
npppd_iface *iface = ppp_iface(ppp);
usr.sbin/npppd/npppd/npppd_ctl.c
285
strlcpy(_this->ifname, iface->ifname, sizeof(_this->ifname));
usr.sbin/npppd/npppd/npppd_ctl.c
317
npppd_iface *iface = ppp_iface(ppp);
usr.sbin/npppd/npppd/npppd_ctl.c
367
if (ioctl(iface->devf, PIPEXGSTAT, &req) != 0)
usr.sbin/npppd/npppd/npppd_iface.c
102
npppd_iface_init(npppd *npppd, npppd_iface *_this, struct iface *iface)
usr.sbin/npppd/npppd/npppd_iface.c
109
strlcpy(_this->ifname, iface->name, sizeof(_this->ifname));
usr.sbin/npppd/npppd/npppd_iface.c
110
_this->using_pppx = iface->is_pppx;
usr.sbin/npppd/npppd/npppd_iface.c
112
_this->ip4addr = iface->ip4addr;
usr.sbin/npppd/npppd/npppd_iface.c
113
_this->ipcpconf = iface->ipcpconf;
usr.sbin/npppd/npppd/npppd_iface.c
245
npppd_iface_reinit(npppd_iface *_this, struct iface *iface)
usr.sbin/npppd/npppd/npppd_iface.c
251
_this->ipcpconf = iface->ipcpconf;
usr.sbin/npppd/npppd/npppd_iface.c
253
_this->ip4addr = iface->ip4addr;
usr.sbin/npppd/npppd/npppd_iface.h
67
void npppd_iface_init (npppd *, npppd_iface *, struct iface *);
usr.sbin/npppd/npppd/npppd_iface.h
68
int npppd_iface_reinit (npppd_iface *, struct iface *);
usr.sbin/npppd/npppd/npppd_local.h
116
npppd_iface iface[NPPPD_MAX_IFACE];
usr.sbin/npppd/npppd/npppd_local.h
188
#define ppp_iface(ppp) (&(ppp)->pppd->iface[(ppp)->ifidx])
usr.sbin/npppd/npppd/npppd_local.h
189
#define ppp_ipcp(ppp) ((ppp)->pppd->iface[(ppp)->ifidx].ipcpconf)
usr.sbin/npppd/npppd/npppd_pool.c
346
for (i = 0; i < countof(_this->iface); i++) {
usr.sbin/npppd/npppd/npppd_pool.c
347
if (npppd_iface_ip_is_ready(&_this->iface[i]) &&
usr.sbin/npppd/npppd/npppd_pool.c
348
_this->iface[i].ip4addr.s_addr == ip4addr)
usr.sbin/npppd/npppd/parse.y
1000
if ((iface = iface_find($9)) == NULL) {
usr.sbin/npppd/npppd/parse.y
1007
if (tunn->pipex == 0 && iface->is_pppx) {
usr.sbin/npppd/npppd/parse.y
1024
n->iface = iface;
usr.sbin/npppd/npppd/parse.y
1523
struct iface *iface, *iface0;
usr.sbin/npppd/npppd/parse.y
1537
TAILQ_FOREACH_SAFE(iface, &xconf->ifaces, entry, iface0) {
usr.sbin/npppd/npppd/parse.y
1538
free(iface);
usr.sbin/npppd/npppd/parse.y
1716
struct iface *
usr.sbin/npppd/npppd/parse.y
1719
struct iface *iface;
usr.sbin/npppd/npppd/parse.y
1721
TAILQ_FOREACH(iface, &conf->ifaces, entry) {
usr.sbin/npppd/npppd/parse.y
1722
if (strcmp(iface->name, name) == 0)
usr.sbin/npppd/npppd/parse.y
1723
return iface;
usr.sbin/npppd/npppd/parse.y
83
static struct iface *iface_find (const char *);
usr.sbin/npppd/npppd/parse.y
937
struct iface *n;
usr.sbin/npppd/npppd/parse.y
961
if ((n = calloc(1, sizeof(struct iface))) == NULL) {
usr.sbin/npppd/npppd/parse.y
983
struct iface *iface;
usr.sbin/ospf6ctl/ospf6ctl.c
386
struct ctl_iface *iface;
usr.sbin/ospf6ctl/ospf6ctl.c
391
iface = imsg->data;
usr.sbin/ospf6ctl/ospf6ctl.c
393
if (asprintf(&netid, "%s", log_in6addr(&iface->addr)) == -1)
usr.sbin/ospf6ctl/ospf6ctl.c
396
iface->name, netid, if_state_name(iface->state),
usr.sbin/ospf6ctl/ospf6ctl.c
397
iface->hello_timer < 0 ? "-" :
usr.sbin/ospf6ctl/ospf6ctl.c
398
fmt_timeframe_core(iface->hello_timer),
usr.sbin/ospf6ctl/ospf6ctl.c
399
get_linkstate(iface->if_type, iface->linkstate),
usr.sbin/ospf6ctl/ospf6ctl.c
400
fmt_timeframe_core(iface->uptime));
usr.sbin/ospf6ctl/ospf6ctl.c
416
struct ctl_iface *iface;
usr.sbin/ospf6ctl/ospf6ctl.c
420
iface = imsg->data;
usr.sbin/ospf6ctl/ospf6ctl.c
423
iface->name, print_link(iface->flags));
usr.sbin/ospf6ctl/ospf6ctl.c
425
log_in6addr(&iface->addr), inet_ntoa(iface->area));
usr.sbin/ospf6ctl/ospf6ctl.c
427
get_media_descr(get_ifms_type(iface->if_type)),
usr.sbin/ospf6ctl/ospf6ctl.c
428
get_linkstate(iface->if_type, iface->linkstate),
usr.sbin/ospf6ctl/ospf6ctl.c
429
iface->mtu);
usr.sbin/ospf6ctl/ospf6ctl.c
430
if (iface->linkstate != LINK_STATE_DOWN &&
usr.sbin/ospf6ctl/ospf6ctl.c
431
iface->baudrate > 0) {
usr.sbin/ospf6ctl/ospf6ctl.c
433
print_baudrate(iface->baudrate);
usr.sbin/ospf6ctl/ospf6ctl.c
437
inet_ntoa(iface->rtr_id),
usr.sbin/ospf6ctl/ospf6ctl.c
438
if_type_name(iface->type), iface->metric);
usr.sbin/ospf6ctl/ospf6ctl.c
440
iface->transmit_delay, if_state_name(iface->state),
usr.sbin/ospf6ctl/ospf6ctl.c
441
iface->priority);
usr.sbin/ospf6ctl/ospf6ctl.c
443
inet_ntoa(iface->dr_id));
usr.sbin/ospf6ctl/ospf6ctl.c
445
log_in6addr(&iface->dr_addr));
usr.sbin/ospf6ctl/ospf6ctl.c
447
inet_ntoa(iface->bdr_id));
usr.sbin/ospf6ctl/ospf6ctl.c
449
log_in6addr(&iface->bdr_addr));
usr.sbin/ospf6ctl/ospf6ctl.c
452
iface->hello_interval, iface->dead_interval,
usr.sbin/ospf6ctl/ospf6ctl.c
453
iface->dead_interval, iface->rxmt_interval);
usr.sbin/ospf6ctl/ospf6ctl.c
454
if (iface->passive)
usr.sbin/ospf6ctl/ospf6ctl.c
456
else if (iface->hello_timer < 0)
usr.sbin/ospf6ctl/ospf6ctl.c
460
fmt_timeframe_core(iface->hello_timer));
usr.sbin/ospf6ctl/ospf6ctl.c
461
printf(" Uptime %s\n", fmt_timeframe_core(iface->uptime));
usr.sbin/ospf6ctl/ospf6ctl.c
463
"%d\n", iface->nbr_cnt, iface->adj_cnt);
usr.sbin/ospf6ctl/ospf6ctl.c
620
struct iface *iface;
usr.sbin/ospf6ctl/ospf6ctl.c
644
iface = imsg->data;
usr.sbin/ospf6ctl/ospf6ctl.c
645
strlcpy(ifname, iface->name, sizeof(ifname));
usr.sbin/ospf6ctl/ospf6ctl.c
778
struct iface *iface;
usr.sbin/ospf6ctl/ospf6ctl.c
997
iface = imsg->data;
usr.sbin/ospf6ctl/ospf6ctl.c
998
strlcpy(ifname, iface->name, sizeof(ifname));
usr.sbin/ospf6d/area.c
49
struct iface *iface = NULL;
usr.sbin/ospf6d/area.c
58
while ((iface = LIST_FIRST(&area->iface_list)) != NULL) {
usr.sbin/ospf6d/area.c
59
LIST_REMOVE(iface, entry);
usr.sbin/ospf6d/area.c
60
if_del(iface);
usr.sbin/ospf6d/area.c
94
struct iface *iface;
usr.sbin/ospf6d/area.c
97
LIST_FOREACH(iface, &area->iface_list, entry) {
usr.sbin/ospf6d/area.c
98
if (iface->state & IF_STA_DOWN)
usr.sbin/ospf6d/database.c
112
switch (nbr->iface->type) {
usr.sbin/ospf6d/database.c
115
dd_hdr.iface_mtu = htons(nbr->iface->mtu);
usr.sbin/ospf6d/database.c
119
dd_hdr.iface_mtu = htons(nbr->iface->mtu);
usr.sbin/ospf6d/database.c
126
dst = nbr->iface->dst;
usr.sbin/ospf6d/database.c
133
dd_hdr.opts = htonl(area_ospf_options(nbr->iface->area));
usr.sbin/ospf6d/database.c
142
if (upd_ospf_hdr(buf, nbr->iface))
usr.sbin/ospf6d/database.c
146
if (send_packet(nbr->iface, buf, &dst) == -1)
usr.sbin/ospf6d/database.c
165
"bad packet size", inet_ntoa(nbr->id), nbr->iface->name);
usr.sbin/ospf6d/database.c
173
if (ntohs(dd_hdr.iface_mtu) > nbr->iface->mtu) {
usr.sbin/ospf6d/database.c
176
nbr->iface->name, ntohs(dd_hdr.iface_mtu),
usr.sbin/ospf6d/database.c
177
nbr->iface->mtu);
usr.sbin/ospf6d/database.c
187
nbr->iface->name);
usr.sbin/ospf6d/database.c
198
nbr->iface->name, nbr_state_name(nbr->state));
usr.sbin/ospf6d/database.c
203
if_fsm(nbr->iface, IF_EVT_NBR_CHNG);
usr.sbin/ospf6d/database.c
230
inet_ntoa(nbr->id), nbr->iface->name,
usr.sbin/ospf6d/database.c
249
inet_ntoa(nbr->id), nbr->iface->name,
usr.sbin/ospf6d/database.c
260
nbr->iface->name);
usr.sbin/ospf6d/database.c
268
inet_ntoa(nbr->id), nbr->iface->name);
usr.sbin/ospf6d/database.c
283
inet_ntoa(nbr->id), nbr->iface->name,
usr.sbin/ospf6d/database.c
296
inet_ntoa(nbr->id), nbr->iface->name,
usr.sbin/ospf6d/database.c
308
inet_ntoa(nbr->id), nbr->iface->name,
usr.sbin/ospf6d/database.c
394
inet_ntoa(nbr->id), nbr->iface->name);
usr.sbin/ospf6d/database.c
401
tv.tv_sec = nbr->iface->rxmt_interval;
usr.sbin/ospf6d/database.c
412
if (nbr == nbr->iface->self)
usr.sbin/ospf6d/database.c
423
if (nbr == nbr->iface->self)
usr.sbin/ospf6d/database.c
46
if ((buf = ibuf_open(nbr->iface->mtu - sizeof(struct ip6_hdr))) == NULL)
usr.sbin/ospf6d/database.c
50
if (gen_ospf_hdr(buf, nbr->iface, PACKET_TYPE_DD))
usr.sbin/ospf6d/database.c
65
nbr->iface->name, nbr_state_name(nbr->state));
usr.sbin/ospf6d/hello.c
101
if (send_packet(iface, buf, &dst) == -1)
usr.sbin/ospf6d/hello.c
113
recv_hello(struct iface *iface, struct in6_addr *src, u_int32_t rtr_id,
usr.sbin/ospf6d/hello.c
123
iface->name);
usr.sbin/ospf6d/hello.c
131
if (ntohs(hello.hello_interval) != iface->hello_interval) {
usr.sbin/ospf6d/hello.c
134
iface->name);
usr.sbin/ospf6d/hello.c
138
if (ntohs(hello.rtr_dead_interval) != iface->dead_interval) {
usr.sbin/ospf6d/hello.c
141
iface->name);
usr.sbin/ospf6d/hello.c
146
if ((opts & OSPF_OPTION_E && iface->area->stub) ||
usr.sbin/ospf6d/hello.c
147
((opts & OSPF_OPTION_E) == 0 && !iface->area->stub)) {
usr.sbin/ospf6d/hello.c
149
"interface %s", iface->name);
usr.sbin/ospf6d/hello.c
154
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ospf6d/hello.c
155
if (nbr == iface->self) {
usr.sbin/ospf6d/hello.c
158
"interface %s neighbor IP %s", iface->name,
usr.sbin/ospf6d/hello.c
169
nbr = nbr_new(rtr_id, iface, ntohl(hello.iface_id), 0, src);
usr.sbin/ospf6d/hello.c
216
if (iface->state & IF_STA_WAITING &&
usr.sbin/ospf6d/hello.c
218
if_fsm(iface, IF_EVT_BACKUP_SEEN);
usr.sbin/ospf6d/hello.c
220
if (iface->state & IF_STA_WAITING && hello.bd_rtr == nbr->id.s_addr) {
usr.sbin/ospf6d/hello.c
225
LIST_FOREACH(dr, &iface->nbr_list, entry)
usr.sbin/ospf6d/hello.c
228
if_fsm(iface, IF_EVT_BACKUP_SEEN);
usr.sbin/ospf6d/hello.c
248
if_fsm(iface, IF_EVT_NBR_CHNG);
usr.sbin/ospf6d/hello.c
36
send_hello(struct iface *iface)
usr.sbin/ospf6d/hello.c
43
switch (iface->type) {
usr.sbin/ospf6d/hello.c
51
if_type_name(iface->type), iface->name);
usr.sbin/ospf6d/hello.c
54
dst = iface->dst;
usr.sbin/ospf6d/hello.c
65
if (gen_ospf_hdr(buf, iface, PACKET_TYPE_HELLO))
usr.sbin/ospf6d/hello.c
69
hello.iface_id = htonl(iface->ifindex);
usr.sbin/ospf6d/hello.c
70
LSA_24_SETHI(hello.opts, iface->priority);
usr.sbin/ospf6d/hello.c
71
LSA_24_SETLO(hello.opts, area_ospf_options(iface->area));
usr.sbin/ospf6d/hello.c
73
hello.hello_interval = htons(iface->hello_interval);
usr.sbin/ospf6d/hello.c
74
hello.rtr_dead_interval = htons(iface->dead_interval);
usr.sbin/ospf6d/hello.c
76
if (iface->dr) {
usr.sbin/ospf6d/hello.c
77
hello.d_rtr = iface->dr->id.s_addr;
usr.sbin/ospf6d/hello.c
78
iface->self->dr.s_addr = iface->dr->id.s_addr;
usr.sbin/ospf6d/hello.c
81
if (iface->bdr) {
usr.sbin/ospf6d/hello.c
82
hello.bd_rtr = iface->bdr->id.s_addr;
usr.sbin/ospf6d/hello.c
83
iface->self->bdr.s_addr = iface->bdr->id.s_addr;
usr.sbin/ospf6d/hello.c
91
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ospf6d/hello.c
92
if ((nbr->state >= NBR_STA_INIT) && (nbr != iface->self))
usr.sbin/ospf6d/hello.c
98
if (upd_ospf_hdr(buf, iface))
usr.sbin/ospf6d/interface.c
102
old_state = iface->state;
usr.sbin/ospf6d/interface.c
114
"event %s not expected in state %s", iface->name,
usr.sbin/ospf6d/interface.c
121
ret = if_act_start(iface);
usr.sbin/ospf6d/interface.c
124
ret = if_act_elect(iface);
usr.sbin/ospf6d/interface.c
127
ret = if_act_reset(iface);
usr.sbin/ospf6d/interface.c
136
"event %s, state %s", iface->name, if_event_names[event],
usr.sbin/ospf6d/interface.c
142
iface->state = new_state;
usr.sbin/ospf6d/interface.c
144
if (iface->state != old_state) {
usr.sbin/ospf6d/interface.c
145
area_track(iface->area);
usr.sbin/ospf6d/interface.c
146
orig_rtr_lsa(iface->area);
usr.sbin/ospf6d/interface.c
147
orig_link_lsa(iface);
usr.sbin/ospf6d/interface.c
150
ospfe_imsg_compose_rde(IMSG_IFINFO, iface->self->peerid, 0,
usr.sbin/ospf6d/interface.c
151
&iface->state, sizeof(iface->state));
usr.sbin/ospf6d/interface.c
155
(iface->state & (IF_STA_MULTI | IF_STA_POINTTOPOINT)) == 0)
usr.sbin/ospf6d/interface.c
156
ospfe_demote_iface(iface, 0);
usr.sbin/ospf6d/interface.c
158
iface->state & (IF_STA_MULTI | IF_STA_POINTTOPOINT))
usr.sbin/ospf6d/interface.c
159
ospfe_demote_iface(iface, 1);
usr.sbin/ospf6d/interface.c
164
iface->name, if_state_name(old_state), if_state_name(iface->state));
usr.sbin/ospf6d/interface.c
178
struct iface *
usr.sbin/ospf6d/interface.c
181
struct iface *iface;
usr.sbin/ospf6d/interface.c
183
TAILQ_FOREACH(iface, &iflist, list) {
usr.sbin/ospf6d/interface.c
184
if (ifindex == iface->ifindex)
usr.sbin/ospf6d/interface.c
185
return (iface);
usr.sbin/ospf6d/interface.c
190
struct iface *
usr.sbin/ospf6d/interface.c
193
struct iface *iface;
usr.sbin/ospf6d/interface.c
195
TAILQ_FOREACH(iface, &iflist, list) {
usr.sbin/ospf6d/interface.c
196
if (!strcmp(name, iface->name))
usr.sbin/ospf6d/interface.c
197
return (iface);
usr.sbin/ospf6d/interface.c
202
struct iface *
usr.sbin/ospf6d/interface.c
205
struct iface *iface;
usr.sbin/ospf6d/interface.c
207
if ((iface = calloc(1, sizeof(*iface))) == NULL)
usr.sbin/ospf6d/interface.c
210
iface->state = IF_STA_DOWN;
usr.sbin/ospf6d/interface.c
212
LIST_INIT(&iface->nbr_list);
usr.sbin/ospf6d/interface.c
213
TAILQ_INIT(&iface->ifa_list);
usr.sbin/ospf6d/interface.c
214
TAILQ_INIT(&iface->ls_ack_list);
usr.sbin/ospf6d/interface.c
215
RB_INIT(&iface->lsa_tree);
usr.sbin/ospf6d/interface.c
220
iface->type = IF_TYPE_VIRTUALLINK;
usr.sbin/ospf6d/interface.c
221
snprintf(iface->name, sizeof(iface->name), "vlink%d",
usr.sbin/ospf6d/interface.c
223
iface->flags |= IFF_UP;
usr.sbin/ospf6d/interface.c
224
iface->mtu = IP_MSS;
usr.sbin/ospf6d/interface.c
225
return (iface);
usr.sbin/ospf6d/interface.c
228
strlcpy(iface->name, ifname, sizeof(iface->name));
usr.sbin/ospf6d/interface.c
229
iface->ifindex = ifindex;
usr.sbin/ospf6d/interface.c
231
TAILQ_INSERT_TAIL(&iflist, iface, list);
usr.sbin/ospf6d/interface.c
233
return (iface);
usr.sbin/ospf6d/interface.c
237
if_update(struct iface *iface, int mtu, int flags, u_int8_t type,
usr.sbin/ospf6d/interface.c
240
iface->mtu = mtu;
usr.sbin/ospf6d/interface.c
241
iface->flags = flags;
usr.sbin/ospf6d/interface.c
242
iface->if_type = type;
usr.sbin/ospf6d/interface.c
243
iface->linkstate = state;
usr.sbin/ospf6d/interface.c
244
iface->baudrate = rate;
usr.sbin/ospf6d/interface.c
245
iface->rdomain = rdomain;
usr.sbin/ospf6d/interface.c
249
iface->type = IF_TYPE_POINTOPOINT;
usr.sbin/ospf6d/interface.c
251
iface->type = IF_TYPE_BROADCAST;
usr.sbin/ospf6d/interface.c
253
iface->type = IF_TYPE_POINTOPOINT;
usr.sbin/ospf6d/interface.c
254
iface->cflags |= F_IFACE_PASSIVE;
usr.sbin/ospf6d/interface.c
259
if_del(struct iface *iface)
usr.sbin/ospf6d/interface.c
263
log_debug("if_del: interface %s", iface->name);
usr.sbin/ospf6d/interface.c
266
if ((iface->state & (IF_STA_MULTI | IF_STA_POINTTOPOINT)) == 0)
usr.sbin/ospf6d/interface.c
267
ospfe_demote_iface(iface, 1);
usr.sbin/ospf6d/interface.c
270
while ((nbr = LIST_FIRST(&iface->nbr_list)) != NULL)
usr.sbin/ospf6d/interface.c
273
if (evtimer_pending(&iface->hello_timer, NULL))
usr.sbin/ospf6d/interface.c
274
evtimer_del(&iface->hello_timer);
usr.sbin/ospf6d/interface.c
275
if (evtimer_pending(&iface->wait_timer, NULL))
usr.sbin/ospf6d/interface.c
276
evtimer_del(&iface->wait_timer);
usr.sbin/ospf6d/interface.c
277
if (evtimer_pending(&iface->lsack_tx_timer, NULL))
usr.sbin/ospf6d/interface.c
278
evtimer_del(&iface->lsack_tx_timer);
usr.sbin/ospf6d/interface.c
280
ls_ack_list_clr(iface);
usr.sbin/ospf6d/interface.c
281
TAILQ_REMOVE(&iflist, iface, list);
usr.sbin/ospf6d/interface.c
282
free(iface);
usr.sbin/ospf6d/interface.c
286
if_start(struct ospfd_conf *xconf, struct iface *iface)
usr.sbin/ospf6d/interface.c
289
iface->self = nbr_new(ospfe_router_id(), iface, iface->ifindex, 1,
usr.sbin/ospf6d/interface.c
293
evtimer_set(&iface->lsack_tx_timer, ls_ack_tx_timer, iface);
usr.sbin/ospf6d/interface.c
294
evtimer_set(&iface->hello_timer, if_hello_timer, iface);
usr.sbin/ospf6d/interface.c
295
evtimer_set(&iface->wait_timer, if_wait_timer, iface);
usr.sbin/ospf6d/interface.c
297
iface->fd = xconf->ospf_socket;
usr.sbin/ospf6d/interface.c
299
ospfe_demote_iface(iface, 0);
usr.sbin/ospf6d/interface.c
301
if (if_fsm(iface, IF_EVT_UP))
usr.sbin/ospf6d/interface.c
302
log_debug("error starting interface %s", iface->name);
usr.sbin/ospf6d/interface.c
309
struct iface *iface = arg;
usr.sbin/ospf6d/interface.c
312
send_hello(iface);
usr.sbin/ospf6d/interface.c
316
tv.tv_sec = iface->hello_interval;
usr.sbin/ospf6d/interface.c
317
if (evtimer_add(&iface->hello_timer, &tv) == -1)
usr.sbin/ospf6d/interface.c
322
if_start_hello_timer(struct iface *iface)
usr.sbin/ospf6d/interface.c
327
if (evtimer_add(&iface->hello_timer, &tv) == -1)
usr.sbin/ospf6d/interface.c
332
if_stop_hello_timer(struct iface *iface)
usr.sbin/ospf6d/interface.c
334
if (evtimer_del(&iface->hello_timer) == -1)
usr.sbin/ospf6d/interface.c
341
struct iface *iface = arg;
usr.sbin/ospf6d/interface.c
343
if_fsm(iface, IF_EVT_WTIMER);
usr.sbin/ospf6d/interface.c
347
if_start_wait_timer(struct iface *iface)
usr.sbin/ospf6d/interface.c
352
tv.tv_sec = iface->dead_interval;
usr.sbin/ospf6d/interface.c
353
if (evtimer_add(&iface->wait_timer, &tv) == -1)
usr.sbin/ospf6d/interface.c
358
if_stop_wait_timer(struct iface *iface)
usr.sbin/ospf6d/interface.c
360
if (evtimer_del(&iface->wait_timer) == -1)
usr.sbin/ospf6d/interface.c
366
if_act_start(struct iface *iface)
usr.sbin/ospf6d/interface.c
371
if (!((iface->flags & IFF_UP) &&
usr.sbin/ospf6d/interface.c
372
LINK_STATE_IS_UP(iface->linkstate))) {
usr.sbin/ospf6d/interface.c
374
iface->name);
usr.sbin/ospf6d/interface.c
378
if (iface->if_type == IFT_CARP &&
usr.sbin/ospf6d/interface.c
379
!(iface->cflags & F_IFACE_PASSIVE)) {
usr.sbin/ospf6d/interface.c
382
iface->name);
usr.sbin/ospf6d/interface.c
383
iface->cflags |= F_IFACE_PASSIVE;
usr.sbin/ospf6d/interface.c
387
iface->uptime = now.tv_sec;
usr.sbin/ospf6d/interface.c
390
if (iface->flags & IFF_LOOPBACK)
usr.sbin/ospf6d/interface.c
391
iface->state = IF_STA_LOOPBACK;
usr.sbin/ospf6d/interface.c
393
if (iface->cflags & F_IFACE_PASSIVE) {
usr.sbin/ospf6d/interface.c
395
orig_rtr_lsa(iface->area);
usr.sbin/ospf6d/interface.c
399
switch (iface->type) {
usr.sbin/ospf6d/interface.c
403
if (if_join_group(iface, &addr))
usr.sbin/ospf6d/interface.c
405
iface->state = IF_STA_POINTTOPOINT;
usr.sbin/ospf6d/interface.c
408
iface->state = IF_STA_POINTTOPOINT;
usr.sbin/ospf6d/interface.c
413
if_type_name(iface->type), iface->name);
usr.sbin/ospf6d/interface.c
418
if (if_join_group(iface, &addr))
usr.sbin/ospf6d/interface.c
42
void if_start_hello_timer(struct iface *);
usr.sbin/ospf6d/interface.c
420
if (iface->priority == 0) {
usr.sbin/ospf6d/interface.c
421
iface->state = IF_STA_DROTHER;
usr.sbin/ospf6d/interface.c
423
iface->state = IF_STA_WAITING;
usr.sbin/ospf6d/interface.c
424
if_start_wait_timer(iface);
usr.sbin/ospf6d/interface.c
43
void if_stop_hello_timer(struct iface *);
usr.sbin/ospf6d/interface.c
432
if_start_hello_timer(iface);
usr.sbin/ospf6d/interface.c
44
void if_stop_wait_timer(struct iface *);
usr.sbin/ospf6d/interface.c
449
if_act_elect(struct iface *iface)
usr.sbin/ospf6d/interface.c
46
void if_start_wait_timer(struct iface *);
usr.sbin/ospf6d/interface.c
460
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ospf6d/interface.c
47
void if_stop_wait_timer(struct iface *);
usr.sbin/ospf6d/interface.c
483
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ospf6d/interface.c
505
((iface->self == dr && iface->self != iface->dr) ||
usr.sbin/ospf6d/interface.c
506
(iface->self != dr && iface->self == iface->dr) ||
usr.sbin/ospf6d/interface.c
507
(iface->self == bdr && iface->self != iface->bdr) ||
usr.sbin/ospf6d/interface.c
508
(iface->self != bdr && iface->self == iface->bdr))) {
usr.sbin/ospf6d/interface.c
514
iface->self->dr.s_addr = dr->id.s_addr;
usr.sbin/ospf6d/interface.c
516
iface->self->bdr.s_addr = bdr->id.s_addr;
usr.sbin/ospf6d/interface.c
522
"old bdr %s new bdr %s", iface->name,
usr.sbin/ospf6d/interface.c
523
iface->dr ? inet_ntop(AF_INET, &iface->dr->id, b1, sizeof(b1)) :
usr.sbin/ospf6d/interface.c
525
iface->bdr ? inet_ntop(AF_INET, &iface->bdr->id, b3, sizeof(b3)) :
usr.sbin/ospf6d/interface.c
533
old_state = iface->state;
usr.sbin/ospf6d/interface.c
534
if (dr == iface->self)
usr.sbin/ospf6d/interface.c
535
iface->state = IF_STA_DR;
usr.sbin/ospf6d/interface.c
536
else if (bdr == iface->self)
usr.sbin/ospf6d/interface.c
537
iface->state = IF_STA_BACKUP;
usr.sbin/ospf6d/interface.c
539
iface->state = IF_STA_DROTHER;
usr.sbin/ospf6d/interface.c
546
if (iface->dr != dr || iface->bdr != bdr)
usr.sbin/ospf6d/interface.c
549
iface->dr = dr;
usr.sbin/ospf6d/interface.c
550
iface->bdr = bdr;
usr.sbin/ospf6d/interface.c
555
(iface->state & IF_STA_DRORBDR) == 0) {
usr.sbin/ospf6d/interface.c
556
if (if_leave_group(iface, &addr))
usr.sbin/ospf6d/interface.c
559
iface->state & IF_STA_DRORBDR) {
usr.sbin/ospf6d/interface.c
560
if (if_join_group(iface, &addr))
usr.sbin/ospf6d/interface.c
564
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ospf6d/interface.c
569
orig_rtr_lsa(iface->area);
usr.sbin/ospf6d/interface.c
570
if (iface->state & IF_STA_DR || old_state & IF_STA_DR)
usr.sbin/ospf6d/interface.c
571
orig_net_lsa(iface);
usr.sbin/ospf6d/interface.c
574
if_start_hello_timer(iface);
usr.sbin/ospf6d/interface.c
579
if_act_reset(struct iface *iface)
usr.sbin/ospf6d/interface.c
584
if (iface->cflags & F_IFACE_PASSIVE) {
usr.sbin/ospf6d/interface.c
586
orig_rtr_lsa(iface->area);
usr.sbin/ospf6d/interface.c
590
switch (iface->type) {
usr.sbin/ospf6d/interface.c
594
if (if_leave_group(iface, &addr)) {
usr.sbin/ospf6d/interface.c
596
"interface %s", log_in6addr(&addr), iface->name);
usr.sbin/ospf6d/interface.c
598
if (iface->state & IF_STA_DRORBDR) {
usr.sbin/ospf6d/interface.c
600
if (if_leave_group(iface, &addr)) {
usr.sbin/ospf6d/interface.c
603
log_in6addr(&addr), iface->name);
usr.sbin/ospf6d/interface.c
613
if_type_name(iface->type), iface->name);
usr.sbin/ospf6d/interface.c
619
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ospf6d/interface.c
626
iface->dr = NULL;
usr.sbin/ospf6d/interface.c
627
iface->bdr = NULL;
usr.sbin/ospf6d/interface.c
629
ls_ack_list_clr(iface);
usr.sbin/ospf6d/interface.c
630
stop_ls_ack_tx_timer(iface);
usr.sbin/ospf6d/interface.c
631
if_stop_hello_timer(iface);
usr.sbin/ospf6d/interface.c
632
if_stop_wait_timer(iface);
usr.sbin/ospf6d/interface.c
635
send_hello(iface);
usr.sbin/ospf6d/interface.c
641
if_to_ctl(struct iface *iface)
usr.sbin/ospf6d/interface.c
647
memcpy(ictl.name, iface->name, sizeof(ictl.name));
usr.sbin/ospf6d/interface.c
648
memcpy(&ictl.addr, &iface->addr, sizeof(ictl.addr));
usr.sbin/ospf6d/interface.c
650
memcpy(&ictl.area, &iface->area->id, sizeof(ictl.area));
usr.sbin/ospf6d/interface.c
651
if (iface->dr) {
usr.sbin/ospf6d/interface.c
652
memcpy(&ictl.dr_id, &iface->dr->id, sizeof(ictl.dr_id));
usr.sbin/ospf6d/interface.c
653
memcpy(&ictl.dr_addr, &iface->dr->addr, sizeof(ictl.dr_addr));
usr.sbin/ospf6d/interface.c
658
if (iface->bdr) {
usr.sbin/ospf6d/interface.c
659
memcpy(&ictl.bdr_id, &iface->bdr->id, sizeof(ictl.bdr_id));
usr.sbin/ospf6d/interface.c
660
memcpy(&ictl.bdr_addr, &iface->bdr->addr,
usr.sbin/ospf6d/interface.c
666
ictl.ifindex = iface->ifindex;
usr.sbin/ospf6d/interface.c
667
ictl.state = iface->state;
usr.sbin/ospf6d/interface.c
668
ictl.mtu = iface->mtu;
usr.sbin/ospf6d/interface.c
671
ictl.baudrate = iface->baudrate;
usr.sbin/ospf6d/interface.c
672
ictl.dead_interval = iface->dead_interval;
usr.sbin/ospf6d/interface.c
673
ictl.transmit_delay = iface->transmit_delay;
usr.sbin/ospf6d/interface.c
674
ictl.hello_interval = iface->hello_interval;
usr.sbin/ospf6d/interface.c
675
ictl.flags = iface->flags;
usr.sbin/ospf6d/interface.c
676
ictl.metric = iface->metric;
usr.sbin/ospf6d/interface.c
677
ictl.rxmt_interval = iface->rxmt_interval;
usr.sbin/ospf6d/interface.c
678
ictl.type = iface->type;
usr.sbin/ospf6d/interface.c
679
ictl.linkstate = iface->linkstate;
usr.sbin/ospf6d/interface.c
680
ictl.if_type = iface->if_type;
usr.sbin/ospf6d/interface.c
681
ictl.priority = iface->priority;
usr.sbin/ospf6d/interface.c
682
ictl.passive = (iface->cflags & F_IFACE_PASSIVE) == F_IFACE_PASSIVE;
usr.sbin/ospf6d/interface.c
685
if (evtimer_pending(&iface->hello_timer, &tv)) {
usr.sbin/ospf6d/interface.c
691
if (iface->state != IF_STA_DOWN) {
usr.sbin/ospf6d/interface.c
692
ictl.uptime = now.tv_sec - iface->uptime;
usr.sbin/ospf6d/interface.c
696
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ospf6d/interface.c
697
if (nbr == iface->self)
usr.sbin/ospf6d/interface.c
731
if_join_group(struct iface *iface, struct in6_addr *addr)
usr.sbin/ospf6d/interface.c
735
switch (iface->type) {
usr.sbin/ospf6d/interface.c
739
iface->name, log_in6addr(addr));
usr.sbin/ospf6d/interface.c
741
mreq.ipv6mr_interface = iface->ifindex;
usr.sbin/ospf6d/interface.c
743
if (setsockopt(iface->fd, IPPROTO_IPV6, IPV6_JOIN_GROUP,
usr.sbin/ospf6d/interface.c
746
"interface %s address %s", iface->name,
usr.sbin/ospf6d/interface.c
75
TAILQ_HEAD(, iface) iflist;
usr.sbin/ospf6d/interface.c
755
if_type_name(iface->type), iface->name);
usr.sbin/ospf6d/interface.c
765
if_leave_group(struct iface *iface, struct in6_addr *addr)
usr.sbin/ospf6d/interface.c
769
switch (iface->type) {
usr.sbin/ospf6d/interface.c
773
iface->name, log_in6addr(addr));
usr.sbin/ospf6d/interface.c
775
mreq.ipv6mr_interface = iface->ifindex;
usr.sbin/ospf6d/interface.c
777
if (setsockopt(iface->fd, IPPROTO_IPV6, IPV6_LEAVE_GROUP,
usr.sbin/ospf6d/interface.c
780
"interface %s address %s", iface->name,
usr.sbin/ospf6d/interface.c
789
if_type_name(iface->type), iface->name);
usr.sbin/ospf6d/interface.c
798
if_set_mcast(struct iface *iface)
usr.sbin/ospf6d/interface.c
800
switch (iface->type) {
usr.sbin/ospf6d/interface.c
803
if (setsockopt(iface->fd, IPPROTO_IPV6, IPV6_MULTICAST_IF,
usr.sbin/ospf6d/interface.c
804
&iface->ifindex, sizeof(iface->ifindex)) == -1) {
usr.sbin/ospf6d/interface.c
806
"IP_MULTICAST_IF, interface %s", iface->name);
usr.sbin/ospf6d/interface.c
814
if_type_name(iface->type), iface->name);
usr.sbin/ospf6d/interface.c
96
if_fsm(struct iface *iface, enum iface_event event)
usr.sbin/ospf6d/kroute.c
1007
switch (iface->type) {
usr.sbin/ospf6d/kroute.c
1025
TAILQ_INSERT_TAIL(&iface->ifa_list, ia, entry);
usr.sbin/ospf6d/kroute.c
1027
if (iface->cflags & F_IFACE_CONFIGURED) {
usr.sbin/ospf6d/kroute.c
1041
struct iface *iface;
usr.sbin/ospf6d/kroute.c
1047
if ((iface = if_find(ifindex)) == NULL) {
usr.sbin/ospf6d/kroute.c
1063
for (ia = TAILQ_FIRST(&iface->ifa_list); ia != NULL; ia = nia) {
usr.sbin/ospf6d/kroute.c
1069
TAILQ_REMOVE(&iface->ifa_list, ia, entry);
usr.sbin/ospf6d/kroute.c
1071
if (iface->cflags & F_IFACE_CONFIGURED) {
usr.sbin/ospf6d/kroute.c
1091
struct iface *iface;
usr.sbin/ospf6d/kroute.c
1097
if ((iface = if_new(ifan->ifan_index, ifan->ifan_name)) == NULL)
usr.sbin/ospf6d/kroute.c
1101
iface = if_find(ifan->ifan_index);
usr.sbin/ospf6d/kroute.c
1102
if (iface != NULL)
usr.sbin/ospf6d/kroute.c
1103
if_del(iface);
usr.sbin/ospf6d/kroute.c
82
struct iface *kif_update(u_short, int, struct if_data *,
usr.sbin/ospf6d/kroute.c
821
struct iface *
usr.sbin/ospf6d/kroute.c
825
struct iface *iface;
usr.sbin/ospf6d/kroute.c
828
if ((iface = if_find(ifindex)) == NULL) {
usr.sbin/ospf6d/kroute.c
840
if ((iface = if_new(ifindex, ifname)) == NULL)
usr.sbin/ospf6d/kroute.c
844
if_update(iface, ifd->ifi_mtu, flags, ifd->ifi_type,
usr.sbin/ospf6d/kroute.c
847
return (iface);
usr.sbin/ospf6d/kroute.c
853
struct iface *iface;
usr.sbin/ospf6d/kroute.c
855
if ((iface = if_find(ifindex)) == NULL) {
usr.sbin/ospf6d/kroute.c
860
return ((iface->flags & IFF_UP) && LINK_STATE_IS_UP(iface->linkstate));
usr.sbin/ospf6d/kroute.c
928
struct iface *iface;
usr.sbin/ospf6d/kroute.c
933
if ((iface = kif_update(ifindex, flags, ifd, sdl)) == NULL) {
usr.sbin/ospf6d/kroute.c
939
main_imsg_compose_rde(IMSG_IFINFO, 0, iface, sizeof(struct iface));
usr.sbin/ospf6d/kroute.c
940
main_imsg_compose_ospfe(IMSG_IFINFO, 0, iface, sizeof(struct iface));
usr.sbin/ospf6d/kroute.c
942
isvalid = (iface->flags & IFF_UP) &&
usr.sbin/ospf6d/kroute.c
943
LINK_STATE_IS_UP(iface->linkstate);
usr.sbin/ospf6d/kroute.c
967
struct iface *iface;
usr.sbin/ospf6d/kroute.c
973
if ((iface = if_find(ifindex)) == NULL) {
usr.sbin/ospf6d/kroute.c
990
iface->flags & IFF_LOOPBACK)
usr.sbin/ospf6d/kroute.c
991
iface->addr = ifa->sin6_addr;
usr.sbin/ospf6d/lsack.c
109
inet_ntoa(nbr->id), nbr->iface->name);
usr.sbin/ospf6d/lsack.c
119
if (nbr->iface->state & IF_STA_DROTHER)
usr.sbin/ospf6d/lsack.c
121
nbr->iface->self, &lsa_hdr);
usr.sbin/ospf6d/lsack.c
131
nbr->iface->name);
usr.sbin/ospf6d/lsack.c
146
inet_ntoa(nbr->id), nbr->iface->name);
usr.sbin/ospf6d/lsack.c
163
lsa_hdr->type, inet_ntoa(nbr->id), nbr->iface->name);
usr.sbin/ospf6d/lsack.c
171
nbr->iface->name);
usr.sbin/ospf6d/lsack.c
180
ls_ack_list_add(struct iface *iface, struct lsa_hdr *lsa)
usr.sbin/ospf6d/lsack.c
190
if (ls_ack_list_empty(iface))
usr.sbin/ospf6d/lsack.c
191
start_ls_ack_tx_timer(iface);
usr.sbin/ospf6d/lsack.c
193
TAILQ_INSERT_TAIL(&iface->ls_ack_list, le, entry);
usr.sbin/ospf6d/lsack.c
195
iface->ls_ack_cnt++;
usr.sbin/ospf6d/lsack.c
198
if (iface->ls_ack_cnt >
usr.sbin/ospf6d/lsack.c
199
((iface->mtu - PACKET_HDR) / sizeof(struct lsa_hdr))) {
usr.sbin/ospf6d/lsack.c
200
start_ls_ack_tx_timer_now(iface);
usr.sbin/ospf6d/lsack.c
205
ls_ack_list_free(struct iface *iface, struct lsa_entry *le)
usr.sbin/ospf6d/lsack.c
207
TAILQ_REMOVE(&iface->ls_ack_list, le, entry);
usr.sbin/ospf6d/lsack.c
211
iface->ls_ack_cnt--;
usr.sbin/ospf6d/lsack.c
215
ls_ack_list_clr(struct iface *iface)
usr.sbin/ospf6d/lsack.c
219
while ((le = TAILQ_FIRST(&iface->ls_ack_list)) != NULL) {
usr.sbin/ospf6d/lsack.c
220
TAILQ_REMOVE(&iface->ls_ack_list, le, entry);
usr.sbin/ospf6d/lsack.c
224
iface->ls_ack_cnt = 0;
usr.sbin/ospf6d/lsack.c
228
ls_ack_list_empty(struct iface *iface)
usr.sbin/ospf6d/lsack.c
230
return (TAILQ_EMPTY(&iface->ls_ack_list));
usr.sbin/ospf6d/lsack.c
238
struct iface *iface = arg;
usr.sbin/ospf6d/lsack.c
244
while (!ls_ack_list_empty(iface)) {
usr.sbin/ospf6d/lsack.c
245
if ((buf = prepare_ls_ack(iface)) == NULL)
usr.sbin/ospf6d/lsack.c
249
for (le = TAILQ_FIRST(&iface->ls_ack_list); le != NULL;
usr.sbin/ospf6d/lsack.c
256
ls_ack_list_free(iface, le);
usr.sbin/ospf6d/lsack.c
266
switch (iface->type) {
usr.sbin/ospf6d/lsack.c
269
send_ls_ack(iface, addr, buf);
usr.sbin/ospf6d/lsack.c
272
if (iface->state & IF_STA_DRORBDR)
usr.sbin/ospf6d/lsack.c
276
send_ls_ack(iface, addr, buf);
usr.sbin/ospf6d/lsack.c
281
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ospf6d/lsack.c
282
if (nbr == iface->self)
usr.sbin/ospf6d/lsack.c
286
send_ls_ack(iface, nbr->addr, buf);
usr.sbin/ospf6d/lsack.c
297
start_ls_ack_tx_timer(struct iface *iface)
usr.sbin/ospf6d/lsack.c
302
tv.tv_sec = iface->rxmt_interval / 2;
usr.sbin/ospf6d/lsack.c
304
if (evtimer_add(&iface->lsack_tx_timer, &tv) == -1)
usr.sbin/ospf6d/lsack.c
309
start_ls_ack_tx_timer_now(struct iface *iface)
usr.sbin/ospf6d/lsack.c
314
if (evtimer_add(&iface->lsack_tx_timer, &tv) == -1)
usr.sbin/ospf6d/lsack.c
319
stop_ls_ack_tx_timer(struct iface *iface)
usr.sbin/ospf6d/lsack.c
321
if (evtimer_del(&iface->lsack_tx_timer) == -1)
usr.sbin/ospf6d/lsack.c
33
int send_ls_ack(struct iface *, struct in6_addr, struct ibuf *);
usr.sbin/ospf6d/lsack.c
34
struct ibuf *prepare_ls_ack(struct iface *);
usr.sbin/ospf6d/lsack.c
35
void start_ls_ack_tx_timer_now(struct iface *);
usr.sbin/ospf6d/lsack.c
39
prepare_ls_ack(struct iface *iface)
usr.sbin/ospf6d/lsack.c
43
if ((buf = ibuf_open(iface->mtu - sizeof(struct ip6_hdr))) == NULL) {
usr.sbin/ospf6d/lsack.c
49
if (gen_ospf_hdr(buf, iface, PACKET_TYPE_LS_ACK)) {
usr.sbin/ospf6d/lsack.c
59
send_ls_ack(struct iface *iface, struct in6_addr addr, struct ibuf *buf)
usr.sbin/ospf6d/lsack.c
62
if (upd_ospf_hdr(buf, iface)) {
usr.sbin/ospf6d/lsack.c
67
if (send_packet(iface, buf, &addr) == -1) {
usr.sbin/ospf6d/lsack.c
75
send_direct_ack(struct iface *iface, struct in6_addr addr, void *d, size_t len)
usr.sbin/ospf6d/lsack.c
80
if ((buf = prepare_ls_ack(iface)) == NULL)
usr.sbin/ospf6d/lsack.c
90
ret = send_ls_ack(iface, addr, buf);
usr.sbin/ospf6d/lsreq.c
101
inet_ntoa(nbr->id), nbr->iface->name);
usr.sbin/ospf6d/lsreq.c
213
nbr->iface->name);
usr.sbin/ospf6d/lsreq.c
220
tv.tv_sec = nbr->iface->rxmt_interval;
usr.sbin/ospf6d/lsreq.c
231
if (nbr == nbr->iface->self)
usr.sbin/ospf6d/lsreq.c
242
if (nbr == nbr->iface->self)
usr.sbin/ospf6d/lsreq.c
40
if ((buf = ibuf_open(nbr->iface->mtu - sizeof(struct ip6_hdr))) == NULL)
usr.sbin/ospf6d/lsreq.c
43
switch (nbr->iface->type) {
usr.sbin/ospf6d/lsreq.c
58
if (gen_ospf_hdr(buf, nbr->iface, PACKET_TYPE_LS_REQUEST))
usr.sbin/ospf6d/lsreq.c
75
if (upd_ospf_hdr(buf, nbr->iface))
usr.sbin/ospf6d/lsreq.c
78
if (send_packet(nbr->iface, buf, &dst) == -1)
usr.sbin/ospf6d/lsupdate.c
106
if (iface == originator->iface && iface->self != originator) {
usr.sbin/ospf6d/lsupdate.c
107
if (iface->dr == originator || iface->bdr == originator)
usr.sbin/ospf6d/lsupdate.c
109
if (iface->state & IF_STA_BACKUP)
usr.sbin/ospf6d/lsupdate.c
119
switch (iface->type) {
usr.sbin/ospf6d/lsupdate.c
122
ls_retrans_list_add(iface->self, data, 0, 1);
usr.sbin/ospf6d/lsupdate.c
127
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ospf6d/lsupdate.c
128
if (nbr == iface->self)
usr.sbin/ospf6d/lsupdate.c
151
prepare_ls_update(struct iface *iface, int bigpkt)
usr.sbin/ospf6d/lsupdate.c
156
size = bigpkt ? IPV6_MAXPACKET : iface->mtu;
usr.sbin/ospf6d/lsupdate.c
176
if (gen_ospf_hdr(buf, iface, PACKET_TYPE_LS_UPDATE))
usr.sbin/ospf6d/lsupdate.c
191
add_ls_update(struct ibuf *buf, struct iface *iface, void *data, u_int16_t len,
usr.sbin/ospf6d/lsupdate.c
209
if ((age += older + iface->transmit_delay) >= MAX_AGE)
usr.sbin/ospf6d/lsupdate.c
220
send_ls_update(struct ibuf *buf, struct iface *iface, struct in6_addr addr,
usr.sbin/ospf6d/lsupdate.c
226
if (upd_ospf_hdr(buf, iface))
usr.sbin/ospf6d/lsupdate.c
229
if (send_packet(iface, buf, &addr) == -1)
usr.sbin/ospf6d/lsupdate.c
249
nbr->iface->name);
usr.sbin/ospf6d/lsupdate.c
266
inet_ntoa(nbr->id), nbr->iface->name);
usr.sbin/ospf6d/lsupdate.c
275
nbr->iface->name);
usr.sbin/ospf6d/lsupdate.c
282
nbr->iface->name);
usr.sbin/ospf6d/lsupdate.c
293
nbr->iface->name);
usr.sbin/ospf6d/lsupdate.c
37
struct ibuf *prepare_ls_update(struct iface *, int);
usr.sbin/ospf6d/lsupdate.c
38
int add_ls_update(struct ibuf *, struct iface *, void *, u_int16_t,
usr.sbin/ospf6d/lsupdate.c
40
int send_ls_update(struct ibuf *, struct iface *, struct in6_addr,
usr.sbin/ospf6d/lsupdate.c
460
if (nbr->iface->self == nbr) {
usr.sbin/ospf6d/lsupdate.c
466
if (le->le_oneshot && nbr->iface->state & IF_STA_DRORBDR)
usr.sbin/ospf6d/lsupdate.c
468
else if (nbr->iface->state & IF_STA_DRORBDR) {
usr.sbin/ospf6d/lsupdate.c
473
lsa_flood(nbr->iface, nbr, &le->le_ref->hdr,
usr.sbin/ospf6d/lsupdate.c
478
} else if (nbr->iface->type == IF_TYPE_POINTOPOINT)
usr.sbin/ospf6d/lsupdate.c
48
lsa_flood(struct iface *iface, struct nbr *originator, struct lsa_hdr *lsa_hdr,
usr.sbin/ospf6d/lsupdate.c
486
if ((buf = prepare_ls_update(nbr->iface, bigpkt)) == NULL) {
usr.sbin/ospf6d/lsupdate.c
499
if (add_ls_update(buf, nbr->iface, le->le_ref->data,
usr.sbin/ospf6d/lsupdate.c
505
inet_ntoa(nbr->id), nbr->iface->name);
usr.sbin/ospf6d/lsupdate.c
511
le->le_when = nbr->iface->rxmt_interval;
usr.sbin/ospf6d/lsupdate.c
522
le->le_when = nbr->iface->rxmt_interval;
usr.sbin/ospf6d/lsupdate.c
527
send_ls_update(buf, nbr->iface, addr, nlsa);
usr.sbin/ospf6d/lsupdate.c
56
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ospf6d/lsupdate.c
57
if (nbr == iface->self)
usr.sbin/ospf6d/lsupdate.c
62
if (iface->state & IF_STA_DROTHER && !queued)
usr.sbin/ospf6d/lsupdate.c
63
while ((le = ls_retrans_list_get(iface->self, lsa_hdr)))
usr.sbin/ospf6d/lsupdate.c
64
ls_retrans_list_free(iface->self, le);
usr.sbin/ospf6d/lsupdate.c
92
if (iface->state & IF_STA_DROTHER) {
usr.sbin/ospf6d/lsupdate.c
94
ls_retrans_list_add(iface->self, data,
usr.sbin/ospf6d/lsupdate.c
95
iface->rxmt_interval, 0);
usr.sbin/ospf6d/lsupdate.c
98
ls_retrans_list_add(nbr, data, iface->rxmt_interval, 0);
usr.sbin/ospf6d/neighbor.c
126
if (nbr == nbr->iface->self)
usr.sbin/ospf6d/neighbor.c
141
inet_ntoa(nbr->id), nbr->iface->name,
usr.sbin/ospf6d/neighbor.c
190
inet_ntoa(nbr->id), nbr->iface->name,
usr.sbin/ospf6d/neighbor.c
206
orig_rtr_lsa(nbr->iface->area);
usr.sbin/ospf6d/neighbor.c
207
if (nbr->iface->state & IF_STA_DR)
usr.sbin/ospf6d/neighbor.c
208
orig_net_lsa(nbr->iface);
usr.sbin/ospf6d/neighbor.c
220
if_fsm(nbr->iface, IF_EVT_NBR_CHNG);
usr.sbin/ospf6d/neighbor.c
226
inet_ntoa(nbr->id), nbr->iface->name,
usr.sbin/ospf6d/neighbor.c
230
if (nbr->iface->type == IF_TYPE_VIRTUALLINK) {
usr.sbin/ospf6d/neighbor.c
231
orig_rtr_lsa(nbr->iface->area);
usr.sbin/ospf6d/neighbor.c
272
nbr_new(u_int32_t nbr_id, struct iface *iface, u_int32_t iface_id, int self,
usr.sbin/ospf6d/neighbor.c
295
nbr->iface = iface;
usr.sbin/ospf6d/neighbor.c
297
LIST_INSERT_HEAD(&iface->nbr_list, nbr, entry);
usr.sbin/ospf6d/neighbor.c
307
nbr->addr = iface->addr;
usr.sbin/ospf6d/neighbor.c
308
nbr->priority = iface->priority;
usr.sbin/ospf6d/neighbor.c
322
rn.area_id.s_addr = nbr->iface->area->id.s_addr;
usr.sbin/ospf6d/neighbor.c
323
rn.ifindex = nbr->iface->ifindex;
usr.sbin/ospf6d/neighbor.c
377
nbr_find_id(struct iface *iface, u_int32_t rtr_id)
usr.sbin/ospf6d/neighbor.c
381
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ospf6d/neighbor.c
407
tv.tv_sec = nbr->iface->dead_interval;
usr.sbin/ospf6d/neighbor.c
426
tv.tv_sec = nbr->iface->dead_interval;
usr.sbin/ospf6d/neighbor.c
443
inet_ntoa(nbr->id), nbr->iface->name);
usr.sbin/ospf6d/neighbor.c
480
struct iface *iface = nbr->iface;
usr.sbin/ospf6d/neighbor.c
482
switch (iface->type) {
usr.sbin/ospf6d/neighbor.c
494
if (iface->dr == nbr || iface->bdr == nbr ||
usr.sbin/ospf6d/neighbor.c
495
iface->state & IF_STA_DRORBDR)
usr.sbin/ospf6d/neighbor.c
533
nbr->iface->name);
usr.sbin/ospf6d/neighbor.c
610
if (nbr == nbr->iface->self)
usr.sbin/ospf6d/neighbor.c
623
inet_ntoa(nbr->id), nbr->iface->name);
usr.sbin/ospf6d/neighbor.c
648
inet_ntoa(nbr->id), nbr->iface->name);
usr.sbin/ospf6d/neighbor.c
660
memcpy(nctl.name, nbr->iface->name, sizeof(nctl.name));
usr.sbin/ospf6d/neighbor.c
665
memcpy(&nctl.area, &nbr->iface->area->id, sizeof(nctl.area));
usr.sbin/ospf6d/neighbor.c
682
if (nbr->iface->dr == nbr)
usr.sbin/ospf6d/neighbor.c
684
else if (nbr->iface->bdr == nbr)
usr.sbin/ospf6d/neighbor.c
686
else if (nbr->iface->state & IF_STA_MULTI)
usr.sbin/ospf6d/neighbor.c
689
nctl.iface_state = nbr->iface->state;
usr.sbin/ospf6d/ospf6d.c
527
struct iface *iface;
usr.sbin/ospf6d/ospf6d.c
537
if ((iface = if_findname(r->dependon)))
usr.sbin/ospf6d/ospf6d.c
538
depend_ok = ifstate_is_up(iface);
usr.sbin/ospf6d/ospf6d.c
61
struct iface *iface_lookup(struct area *, struct iface *);
usr.sbin/ospf6d/ospf6d.c
665
struct iface *iface;
usr.sbin/ospf6d/ospf6d.c
703
LIST_FOREACH(iface, &a->iface_list, entry)
usr.sbin/ospf6d/ospf6d.c
704
if_fsm(iface, IF_EVT_DOWN);
usr.sbin/ospf6d/ospf6d.c
719
LIST_FOREACH(iface, &xa->iface_list, entry)
usr.sbin/ospf6d/ospf6d.c
720
if_start(conf, iface);
usr.sbin/ospf6d/ospf6d.c
742
LIST_FOREACH(iface, &a->iface_list, entry) {
usr.sbin/ospf6d/ospf6d.c
743
if (iface->state == IF_STA_NEW) {
usr.sbin/ospf6d/ospf6d.c
744
iface->state = IF_STA_DOWN;
usr.sbin/ospf6d/ospf6d.c
745
if_start(conf, iface);
usr.sbin/ospf6d/ospf6d.c
766
struct iface *i, *xi, *ni;
usr.sbin/ospf6d/ospf6d.c
836
struct iface *
usr.sbin/ospf6d/ospf6d.c
837
iface_lookup(struct area *area, struct iface *iface)
usr.sbin/ospf6d/ospf6d.c
839
struct iface *i;
usr.sbin/ospf6d/ospf6d.c
842
if (i->ifindex == iface->ifindex)
usr.sbin/ospf6d/ospf6d.c
848
ifstate_is_up(struct iface *iface)
usr.sbin/ospf6d/ospf6d.c
850
if (!(iface->flags & IFF_UP))
usr.sbin/ospf6d/ospf6d.c
852
if (iface->if_type == IFT_CARP &&
usr.sbin/ospf6d/ospf6d.c
853
iface->linkstate == LINK_STATE_UNKNOWN)
usr.sbin/ospf6d/ospf6d.c
855
return LINK_STATE_IS_UP(iface->linkstate);
usr.sbin/ospf6d/ospf6d.h
144
LIST_HEAD(, iface) iface_list;
usr.sbin/ospf6d/ospf6d.h
289
LIST_ENTRY(iface) entry;
usr.sbin/ospf6d/ospf6d.h
290
TAILQ_ENTRY(iface) list;
usr.sbin/ospf6d/ospf6d.h
531
struct iface *if_find(unsigned int);
usr.sbin/ospf6d/ospf6d.h
532
struct iface *if_findname(char *);
usr.sbin/ospf6d/ospf6d.h
533
struct iface *if_new(u_short, char *);
usr.sbin/ospf6d/ospf6d.h
534
void if_update(struct iface *, int, int, u_int8_t, u_int8_t,
usr.sbin/ospf6d/ospf6d.h
591
int ifstate_is_up(struct iface *iface);
usr.sbin/ospf6d/ospfe.c
1008
LIST_FOREACH(nbr, &iface->nbr_list, entry)
usr.sbin/ospf6d/ospfe.c
1023
if (iface->state & IF_STA_DR)
usr.sbin/ospf6d/ospfe.c
1030
lsa_hdr.ls_id = htonl(iface->ifindex);
usr.sbin/ospf6d/ospfe.c
1046
imsg_compose_event(iev_rde, IMSG_LS_UPD, iface->self->peerid, 0,
usr.sbin/ospf6d/ospfe.c
1053
orig_link_lsa(struct iface *iface)
usr.sbin/ospf6d/ospfe.c
1065
log_debug("orig_link_lsa: interface %s", iface->name);
usr.sbin/ospf6d/ospfe.c
1067
switch (iface->type) {
usr.sbin/ospf6d/ospfe.c
1072
if ((iface->state & IF_STA_MULTI) == 0)
usr.sbin/ospf6d/ospfe.c
1077
if ((iface->state & IF_STA_POINTTOPOINT) == 0)
usr.sbin/ospf6d/ospfe.c
1094
TAILQ_FOREACH(ia, &iface->ifa_list, entry) {
usr.sbin/ospf6d/ospfe.c
1116
LSA_24_SETHI(lsa_link.opts, iface->priority);
usr.sbin/ospf6d/ospfe.c
1117
options = area_ospf_options(iface->area);
usr.sbin/ospf6d/ospfe.c
1128
lsa_hdr.ls_id = htonl(iface->ifindex);
usr.sbin/ospf6d/ospfe.c
1140
imsg_compose_event(iev_rde, IMSG_LS_UPD, iface->self->peerid, 0,
usr.sbin/ospf6d/ospfe.c
1169
struct iface *iface;
usr.sbin/ospf6d/ospfe.c
1173
LIST_FOREACH(iface, &area->iface_list, entry)
usr.sbin/ospf6d/ospfe.c
1174
if (idx == 0 || idx == iface->ifindex) {
usr.sbin/ospf6d/ospfe.c
1175
ictl = if_to_ctl(iface);
usr.sbin/ospf6d/ospfe.c
1186
struct iface *iface;
usr.sbin/ospf6d/ospfe.c
1191
LIST_FOREACH(iface, &area->iface_list, entry)
usr.sbin/ospf6d/ospfe.c
1192
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ospf6d/ospfe.c
1193
if (iface->self != nbr) {
usr.sbin/ospf6d/ospfe.c
1224
ospfe_demote_iface(struct iface *iface, int active)
usr.sbin/ospf6d/ospfe.c
1229
iface->demote_group[0] == '\0')
usr.sbin/ospf6d/ospfe.c
1233
strlcpy(dmsg.demote_group, iface->demote_group,
usr.sbin/ospf6d/ospfe.c
187
LIST_FOREACH(iface, &area->iface_list, entry)
usr.sbin/ospf6d/ospfe.c
188
if_start(xconf, iface);
usr.sbin/ospf6d/ospfe.c
202
struct iface *iface;
usr.sbin/ospf6d/ospfe.c
206
LIST_FOREACH(iface, &area->iface_list, entry) {
usr.sbin/ospf6d/ospfe.c
207
if (if_fsm(iface, IF_EVT_DOWN)) {
usr.sbin/ospf6d/ospfe.c
209
iface->name);
usr.sbin/ospf6d/ospfe.c
255
struct iface *iface, *ifp, *i;
usr.sbin/ospf6d/ospfe.c
287
sizeof(struct iface))
usr.sbin/ospf6d/ospfe.c
309
iface = if_find(ifp->ifindex);
usr.sbin/ospf6d/ospfe.c
310
if (iface == NULL)
usr.sbin/ospf6d/ospfe.c
313
wasvalid = (iface->flags & IFF_UP) &&
usr.sbin/ospf6d/ospfe.c
314
LINK_STATE_IS_UP(iface->linkstate);
usr.sbin/ospf6d/ospfe.c
316
if_update(iface, ifp->mtu, ifp->flags, ifp->if_type,
usr.sbin/ospf6d/ospfe.c
319
isvalid = (iface->flags & IFF_UP) &&
usr.sbin/ospf6d/ospfe.c
320
LINK_STATE_IS_UP(iface->linkstate);
usr.sbin/ospf6d/ospfe.c
326
if_fsm(iface, IF_EVT_UP);
usr.sbin/ospf6d/ospfe.c
327
log_warnx("interface %s up", iface->name);
usr.sbin/ospf6d/ospfe.c
329
if_fsm(iface, IF_EVT_DOWN);
usr.sbin/ospf6d/ospfe.c
330
log_warnx("interface %s down", iface->name);
usr.sbin/ospf6d/ospfe.c
339
iface = if_find(ifc->ifindex);
usr.sbin/ospf6d/ospfe.c
340
if (iface == NULL)
usr.sbin/ospf6d/ospfe.c
350
TAILQ_INSERT_TAIL(&iface->ifa_list, ia, entry);
usr.sbin/ospf6d/ospfe.c
351
orig_link_lsa(iface);
usr.sbin/ospf6d/ospfe.c
359
iface = if_find(ifc->ifindex);
usr.sbin/ospf6d/ospfe.c
360
if (iface == NULL)
usr.sbin/ospf6d/ospfe.c
363
for (ia = TAILQ_FIRST(&iface->ifa_list); ia != NULL;
usr.sbin/ospf6d/ospfe.c
369
TAILQ_REMOVE(&iface->ifa_list, ia,
usr.sbin/ospf6d/ospfe.c
375
orig_link_lsa(iface);
usr.sbin/ospf6d/ospfe.c
449
struct iface *iface;
usr.sbin/ospf6d/ospfe.c
48
struct iface *find_vlink(struct abr_rtr *);
usr.sbin/ospf6d/ospfe.c
546
LIST_FOREACH(iface, &area->iface_list,
usr.sbin/ospf6d/ospfe.c
548
noack += lsa_flood(iface, nbr,
usr.sbin/ospf6d/ospfe.c
568
noack += lsa_flood(nbr->iface, nbr,
usr.sbin/ospf6d/ospfe.c
575
LIST_FOREACH(iface,
usr.sbin/ospf6d/ospfe.c
576
&nbr->iface->area->iface_list, entry) {
usr.sbin/ospf6d/ospfe.c
577
noack += lsa_flood(iface, nbr,
usr.sbin/ospf6d/ospfe.c
595
if (!noack && nbr->iface != NULL &&
usr.sbin/ospf6d/ospfe.c
596
nbr->iface->self != nbr) {
usr.sbin/ospf6d/ospfe.c
597
if (!(nbr->iface->state & IF_STA_BACKUP) ||
usr.sbin/ospf6d/ospfe.c
598
nbr->iface->dr == nbr) {
usr.sbin/ospf6d/ospfe.c
602
ls_ack_list_add(nbr->iface, lhp);
usr.sbin/ospf6d/ospfe.c
627
if (nbr->iface->self == nbr)
usr.sbin/ospf6d/ospfe.c
656
if (nbr->iface->self == nbr)
usr.sbin/ospf6d/ospfe.c
664
if (nbr->iface->state & IF_STA_DROTHER)
usr.sbin/ospf6d/ospfe.c
665
if (ls_retrans_list_del(nbr->iface->self,
usr.sbin/ospf6d/ospfe.c
672
send_direct_ack(nbr->iface, nbr->addr, imsg.data,
usr.sbin/ospf6d/ospfe.c
681
if (nbr->iface->self == nbr)
usr.sbin/ospf6d/ospfe.c
690
if ((iface = find_vlink(&ar)) != NULL &&
usr.sbin/ospf6d/ospfe.c
691
iface->state == IF_STA_DOWN)
usr.sbin/ospf6d/ospfe.c
692
if (if_fsm(iface, IF_EVT_UP)) {
usr.sbin/ospf6d/ospfe.c
694
iface->name);
usr.sbin/ospf6d/ospfe.c
700
if ((iface = find_vlink(&ar)) != NULL &&
usr.sbin/ospf6d/ospfe.c
701
iface->state == IF_STA_POINTTOPOINT)
usr.sbin/ospf6d/ospfe.c
702
if (if_fsm(iface, IF_EVT_DOWN)) {
usr.sbin/ospf6d/ospfe.c
704
iface->name);
usr.sbin/ospf6d/ospfe.c
74
struct iface *iface;
usr.sbin/ospf6d/ospfe.c
740
struct iface *
usr.sbin/ospf6d/ospfe.c
744
struct iface *iface = NULL;
usr.sbin/ospf6d/ospfe.c
747
LIST_FOREACH(iface, &area->iface_list, entry)
usr.sbin/ospf6d/ospfe.c
748
if (iface->abr_id.s_addr == ar->abr_id.s_addr &&
usr.sbin/ospf6d/ospfe.c
749
iface->type == IF_TYPE_VIRTUALLINK &&
usr.sbin/ospf6d/ospfe.c
750
iface->area->id.s_addr == ar->area.s_addr) {
usr.sbin/ospf6d/ospfe.c
751
iface->dst = ar->dst_ip;
usr.sbin/ospf6d/ospfe.c
752
iface->addr = ar->addr;
usr.sbin/ospf6d/ospfe.c
753
iface->metric = ar->metric;
usr.sbin/ospf6d/ospfe.c
755
return (iface);
usr.sbin/ospf6d/ospfe.c
758
return (iface);
usr.sbin/ospf6d/ospfe.c
781
struct iface *iface;
usr.sbin/ospf6d/ospfe.c
802
LIST_FOREACH(iface, &area->iface_list, entry) {
usr.sbin/ospf6d/ospfe.c
803
if (self == NULL && iface->self != NULL)
usr.sbin/ospf6d/ospfe.c
804
self = iface->self;
usr.sbin/ospf6d/ospfe.c
808
switch (iface->type) {
usr.sbin/ospf6d/ospfe.c
810
LIST_FOREACH(nbr, &iface->nbr_list, entry)
usr.sbin/ospf6d/ospfe.c
811
if (nbr != iface->self &&
usr.sbin/ospf6d/ospfe.c
814
if (nbr && iface->state & IF_STA_POINTTOPOINT) {
usr.sbin/ospf6d/ospfe.c
816
"interface %s", iface->name);
usr.sbin/ospf6d/ospfe.c
818
if (iface->dependon[0] != '\0' &&
usr.sbin/ospf6d/ospfe.c
819
iface->depend_ok == 0)
usr.sbin/ospf6d/ospfe.c
822
rtr_link.metric = htons(iface->metric);
usr.sbin/ospf6d/ospfe.c
823
rtr_link.iface_id = htonl(iface->ifindex);
usr.sbin/ospf6d/ospfe.c
832
if ((iface->state & IF_STA_MULTI)) {
usr.sbin/ospf6d/ospfe.c
833
if (iface->dr == iface->self) {
usr.sbin/ospf6d/ospfe.c
834
LIST_FOREACH(nbr, &iface->nbr_list,
usr.sbin/ospf6d/ospfe.c
836
if (nbr != iface->self &&
usr.sbin/ospf6d/ospfe.c
840
nbr = iface->dr;
usr.sbin/ospf6d/ospfe.c
844
"interface %s", iface->name);
usr.sbin/ospf6d/ospfe.c
847
if (iface->dependon[0] != '\0' &&
usr.sbin/ospf6d/ospfe.c
848
iface->depend_ok == 0)
usr.sbin/ospf6d/ospfe.c
852
htons(iface->metric);
usr.sbin/ospf6d/ospfe.c
853
rtr_link.iface_id = htonl(iface->ifindex);
usr.sbin/ospf6d/ospfe.c
854
rtr_link.nbr_iface_id = htonl(iface->dr->iface_id);
usr.sbin/ospf6d/ospfe.c
855
rtr_link.nbr_rtr_id = iface->dr->id.s_addr;
usr.sbin/ospf6d/ospfe.c
866
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ospf6d/ospfe.c
867
if (nbr != iface->self &&
usr.sbin/ospf6d/ospfe.c
880
rtr_link.metric = htons(iface->metric);
usr.sbin/ospf6d/ospfe.c
886
"interface %s", iface->name);
usr.sbin/ospf6d/ospfe.c
891
"interface %s", iface->name);
usr.sbin/ospf6d/ospfe.c
895
rtr_link.metric = htons(iface->metric);
usr.sbin/ospf6d/ospfe.c
899
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ospf6d/ospfe.c
900
if (nbr != iface->self &&
usr.sbin/ospf6d/ospfe.c
905
iface->name);
usr.sbin/ospf6d/ospfe.c
913
else if (iface->dependon[0] != '\0' &&
usr.sbin/ospf6d/ospfe.c
914
iface->dependon_ok == 0)
usr.sbin/ospf6d/ospfe.c
918
htons(iface->metric);
usr.sbin/ospf6d/ospfe.c
989
orig_net_lsa(struct iface *iface)
usr.sbin/ospf6d/ospfe.h
108
int send_hello(struct iface *);
usr.sbin/ospf6d/ospfe.h
109
void recv_hello(struct iface *, struct in6_addr *, u_int32_t,
usr.sbin/ospf6d/ospfe.h
124
void orig_net_lsa(struct iface *);
usr.sbin/ospf6d/ospfe.h
125
void orig_link_lsa(struct iface *);
usr.sbin/ospf6d/ospfe.h
127
void ospfe_demote_iface(struct iface *, int);
usr.sbin/ospf6d/ospfe.h
130
int if_fsm(struct iface *, enum iface_event);
usr.sbin/ospf6d/ospfe.h
132
void if_del(struct iface *);
usr.sbin/ospf6d/ospfe.h
133
void if_start(struct ospfd_conf *, struct iface *);
usr.sbin/ospf6d/ospfe.h
135
int if_act_start(struct iface *);
usr.sbin/ospf6d/ospfe.h
136
int if_act_elect(struct iface *);
usr.sbin/ospf6d/ospfe.h
137
int if_act_reset(struct iface *);
usr.sbin/ospf6d/ospfe.h
139
struct ctl_iface *if_to_ctl(struct iface *);
usr.sbin/ospf6d/ospfe.h
141
int if_join_group(struct iface *, struct in6_addr *);
usr.sbin/ospf6d/ospfe.h
142
int if_leave_group(struct iface *, struct in6_addr *);
usr.sbin/ospf6d/ospfe.h
143
int if_set_mcast(struct iface *);
usr.sbin/ospf6d/ospfe.h
150
int send_direct_ack(struct iface *, struct in6_addr, void *, size_t);
usr.sbin/ospf6d/ospfe.h
153
void ls_ack_list_add(struct iface *, struct lsa_hdr *);
usr.sbin/ospf6d/ospfe.h
154
void ls_ack_list_free(struct iface *, struct lsa_entry *);
usr.sbin/ospf6d/ospfe.h
155
void ls_ack_list_clr(struct iface *);
usr.sbin/ospf6d/ospfe.h
156
int ls_ack_list_empty(struct iface *);
usr.sbin/ospf6d/ospfe.h
158
void start_ls_ack_tx_timer(struct iface *);
usr.sbin/ospf6d/ospfe.h
159
void stop_ls_ack_tx_timer(struct iface *);
usr.sbin/ospf6d/ospfe.h
174
int lsa_flood(struct iface *, struct nbr *, struct lsa_hdr *,
usr.sbin/ospf6d/ospfe.h
193
struct nbr *nbr_new(u_int32_t, struct iface *, u_int32_t, int,
usr.sbin/ospf6d/ospfe.h
197
struct nbr *nbr_find_id(struct iface *, u_int32_t);
usr.sbin/ospf6d/ospfe.h
226
int gen_ospf_hdr(struct ibuf *, struct iface *, u_int8_t);
usr.sbin/ospf6d/ospfe.h
227
int upd_ospf_hdr(struct ibuf *, struct iface *);
usr.sbin/ospf6d/ospfe.h
228
int send_packet(struct iface *, struct ibuf *, struct in6_addr *);
usr.sbin/ospf6d/ospfe.h
73
struct iface *iface;
usr.sbin/ospf6d/packet.c
101
"interface, %s", iface->name);
usr.sbin/ospf6d/packet.c
105
if (sendto(iface->fd, ibuf_data(buf), ibuf_size(buf), 0,
usr.sbin/ospf6d/packet.c
108
iface->name);
usr.sbin/ospf6d/packet.c
128
struct iface *iface;
usr.sbin/ospf6d/packet.c
174
if ((iface = find_iface(xconf, ifindex, &src.sin6_addr)) == NULL) {
usr.sbin/ospf6d/packet.c
189
TAILQ_FOREACH(ia, &iface->ifa_list, entry) {
usr.sbin/ospf6d/packet.c
196
log_in6addr(&dest), iface->name);
usr.sbin/ospf6d/packet.c
210
if ((l = ospf_hdr_sanity_check(ospf_hdr, len, iface, &dest)) == -1)
usr.sbin/ospf6d/packet.c
213
nbr = nbr_find_id(iface, ospf_hdr->rtr_id);
usr.sbin/ospf6d/packet.c
232
recv_hello(iface, &src.sin6_addr, ospf_hdr->rtr_id, buf, len);
usr.sbin/ospf6d/packet.c
248
iface->name);
usr.sbin/ospf6d/packet.c
254
const struct iface *iface, struct in6_addr *dst)
usr.sbin/ospf6d/packet.c
272
if (iface->type != IF_TYPE_VIRTUALLINK) {
usr.sbin/ospf6d/packet.c
273
if (ospf_hdr->area_id != iface->area->id.s_addr) {
usr.sbin/ospf6d/packet.c
276
"interface %s", inet_ntoa(id), iface->name);
usr.sbin/ospf6d/packet.c
283
"interface %s", inet_ntoa(id), iface->name);
usr.sbin/ospf6d/packet.c
288
if (iface->type == IF_TYPE_BROADCAST || iface->type == IF_TYPE_NBMA) {
usr.sbin/ospf6d/packet.c
292
(iface->state & IF_STA_DRORBDR) == 0) {
usr.sbin/ospf6d/packet.c
295
if_state_name(iface->state), iface->name);
usr.sbin/ospf6d/packet.c
303
struct iface *
usr.sbin/ospf6d/packet.c
307
struct iface *iface, *match = NULL;
usr.sbin/ospf6d/packet.c
315
LIST_FOREACH(iface, &area->iface_list, entry) {
usr.sbin/ospf6d/packet.c
316
switch (iface->type) {
usr.sbin/ospf6d/packet.c
318
if (IN6_ARE_ADDR_EQUAL(src, &iface->dst) &&
usr.sbin/ospf6d/packet.c
319
!(iface->cflags & F_IFACE_PASSIVE))
usr.sbin/ospf6d/packet.c
320
return (iface);
usr.sbin/ospf6d/packet.c
323
if (ifindex == iface->ifindex &&
usr.sbin/ospf6d/packet.c
324
!(iface->cflags & F_IFACE_PASSIVE))
usr.sbin/ospf6d/packet.c
325
match = iface;
usr.sbin/ospf6d/packet.c
40
const struct iface *, struct in6_addr *);
usr.sbin/ospf6d/packet.c
41
struct iface *find_iface(struct ospfd_conf *, unsigned int,
usr.sbin/ospf6d/packet.c
47
gen_ospf_hdr(struct ibuf *buf, struct iface *iface, u_int8_t type)
usr.sbin/ospf6d/packet.c
55
if (iface->type != IF_TYPE_VIRTUALLINK)
usr.sbin/ospf6d/packet.c
56
ospf_hdr.area_id = iface->area->id.s_addr;
usr.sbin/ospf6d/packet.c
64
upd_ospf_hdr(struct ibuf *buf, struct iface *iface)
usr.sbin/ospf6d/packet.c
82
send_packet(struct iface *iface, struct ibuf *buf,
usr.sbin/ospf6d/packet.c
95
sa6.sin6_scope_id = iface->ifindex;
usr.sbin/ospf6d/packet.c
99
if (if_set_mcast(iface) == -1) {
usr.sbin/ospf6d/parse.y
1179
struct iface *i, *idep;
usr.sbin/ospf6d/parse.y
533
if ((iface = if_findname($2)) == NULL) {
usr.sbin/ospf6d/parse.y
538
if (IN6_IS_ADDR_UNSPECIFIED(&iface->addr)) {
usr.sbin/ospf6d/parse.y
544
iface->area = area;
usr.sbin/ospf6d/parse.y
545
LIST_INSERT_HEAD(&area->iface_list, iface, entry);
usr.sbin/ospf6d/parse.y
550
iface->dead_interval = defs->dead_interval;
usr.sbin/ospf6d/parse.y
551
iface->transmit_delay = defs->transmit_delay;
usr.sbin/ospf6d/parse.y
552
iface->hello_interval = defs->hello_interval;
usr.sbin/ospf6d/parse.y
553
iface->rxmt_interval = defs->rxmt_interval;
usr.sbin/ospf6d/parse.y
554
iface->metric = defs->metric;
usr.sbin/ospf6d/parse.y
555
iface->priority = defs->priority;
usr.sbin/ospf6d/parse.y
556
iface->cflags |= F_IFACE_CONFIGURED;
usr.sbin/ospf6d/parse.y
558
iface->type = IF_TYPE_POINTOPOINT;
usr.sbin/ospf6d/parse.y
559
iface = NULL;
usr.sbin/ospf6d/parse.y
574
interfaceoptsl : PASSIVE { iface->cflags |= F_IFACE_PASSIVE; }
usr.sbin/ospf6d/parse.y
576
if (strlcpy(iface->demote_group, $2,
usr.sbin/ospf6d/parse.y
577
sizeof(iface->demote_group)) >=
usr.sbin/ospf6d/parse.y
578
sizeof(iface->demote_group)) {
usr.sbin/ospf6d/parse.y
585
if (carp_demote_init(iface->demote_group,
usr.sbin/ospf6d/parse.y
588
iface->demote_group);
usr.sbin/ospf6d/parse.y
593
struct iface *depend_if = NULL;
usr.sbin/ospf6d/parse.y
596
strlcpy(iface->dependon, $1,
usr.sbin/ospf6d/parse.y
597
sizeof(iface->dependon));
usr.sbin/ospf6d/parse.y
599
iface->depend_ok = ifstate_is_up(depend_if);
usr.sbin/ospf6d/parse.y
601
iface->dependon[0] = '\0';
usr.sbin/ospf6d/parse.y
602
iface->depend_ok = 1;
usr.sbin/ospf6d/parse.y
96
struct iface *iface = NULL;
usr.sbin/ospf6d/printconf.c
119
print_iface(struct iface *iface)
usr.sbin/ospf6d/printconf.c
121
printf("\tinterface %s {\n", iface->name);
usr.sbin/ospf6d/printconf.c
123
printf("\t\thello-interval %d\n", iface->hello_interval);
usr.sbin/ospf6d/printconf.c
124
printf("\t\tmetric %d\n", iface->metric);
usr.sbin/ospf6d/printconf.c
126
if (iface->cflags & F_IFACE_PASSIVE)
usr.sbin/ospf6d/printconf.c
128
if (*iface->demote_group)
usr.sbin/ospf6d/printconf.c
129
printf("\t\tdemote %s\n", iface->demote_group);
usr.sbin/ospf6d/printconf.c
130
if (iface->dependon[0] != '\0')
usr.sbin/ospf6d/printconf.c
131
printf("\t\tdepend on %s\n", iface->dependon);
usr.sbin/ospf6d/printconf.c
133
printf("\t\tretransmit-interval %d\n", iface->rxmt_interval);
usr.sbin/ospf6d/printconf.c
134
printf("\t\trouter-dead-time %d\n", iface->dead_interval);
usr.sbin/ospf6d/printconf.c
135
printf("\t\trouter-priority %d\n", iface->priority);
usr.sbin/ospf6d/printconf.c
136
printf("\t\ttransmit-delay %d\n", iface->transmit_delay);
usr.sbin/ospf6d/printconf.c
138
if (iface->type == IF_TYPE_POINTOPOINT)
usr.sbin/ospf6d/printconf.c
148
struct iface *iface;
usr.sbin/ospf6d/printconf.c
159
LIST_FOREACH(iface, &area->iface_list, entry) {
usr.sbin/ospf6d/printconf.c
160
print_iface(iface);
usr.sbin/ospf6d/printconf.c
36
void print_iface(struct iface *);
usr.sbin/ospf6d/rde.c
1032
struct iface *iface;
usr.sbin/ospf6d/rde.c
1039
if ((iface = if_find(new->ifindex)) == NULL)
usr.sbin/ospf6d/rde.c
1048
nbr->iface = iface;
usr.sbin/ospf6d/rde.c
1175
struct iface *
usr.sbin/ospf6d/rde.c
1180
struct iface *iface;
usr.sbin/ospf6d/rde.c
1185
LIST_FOREACH(iface, &area->iface_list, entry) {
usr.sbin/ospf6d/rde.c
1186
TAILQ_FOREACH(ia, &iface->ifa_list, entry) {
usr.sbin/ospf6d/rde.c
1194
return (iface);
usr.sbin/ospf6d/rde.c
1398
orig_intra_lsa_net(struct area *area, struct iface *iface, struct vertex *old)
usr.sbin/ospf6d/rde.c
1410
inet_ntoa(area->id), iface->name);
usr.sbin/ospf6d/rde.c
1414
if (iface->state & IF_STA_DR) {
usr.sbin/ospf6d/rde.c
1418
nbr->iface->ifindex != iface->ifindex ||
usr.sbin/ospf6d/rde.c
1422
v = lsa_find(iface, htons(LSA_TYPE_LINK),
usr.sbin/ospf6d/rde.c
1437
v = lsa_find(iface, htons(LSA_TYPE_LINK),
usr.sbin/ospf6d/rde.c
1438
htonl(iface->ifindex), rde_router_id());
usr.sbin/ospf6d/rde.c
1452
lsa->data.pref_intra.ref_ls_id = htonl(iface->ifindex);
usr.sbin/ospf6d/rde.c
1470
lsa->hdr.ls_id = htonl(iface->ifindex);
usr.sbin/ospf6d/rde.c
1487
struct iface *iface;
usr.sbin/ospf6d/rde.c
1502
LIST_FOREACH(iface, &area->iface_list, entry) {
usr.sbin/ospf6d/rde.c
1503
if (!((iface->flags & IFF_UP) &&
usr.sbin/ospf6d/rde.c
1504
LINK_STATE_IS_UP(iface->linkstate)) &&
usr.sbin/ospf6d/rde.c
1505
!(iface->if_type == IFT_CARP))
usr.sbin/ospf6d/rde.c
1510
if (iface->if_type == IFT_CARP &&
usr.sbin/ospf6d/rde.c
1511
(iface->linkstate == LINK_STATE_UNKNOWN ||
usr.sbin/ospf6d/rde.c
1512
iface->linkstate == LINK_STATE_INVALID))
usr.sbin/ospf6d/rde.c
1516
if ((iface->state & IF_STA_DOWN) &&
usr.sbin/ospf6d/rde.c
1517
!(iface->cflags & F_IFACE_PASSIVE))
usr.sbin/ospf6d/rde.c
1523
if (iface->type == IF_TYPE_BROADCAST ||
usr.sbin/ospf6d/rde.c
1524
iface->type == IF_TYPE_NBMA) {
usr.sbin/ospf6d/rde.c
1525
if (iface->state & IF_STA_WAITING)
usr.sbin/ospf6d/rde.c
1532
nbr->iface->ifindex == iface->ifindex &&
usr.sbin/ospf6d/rde.c
1541
TAILQ_FOREACH(ia, &iface->ifa_list, entry) {
usr.sbin/ospf6d/rde.c
1547
if (iface->type == IF_TYPE_POINTOMULTIPOINT ||
usr.sbin/ospf6d/rde.c
1548
iface->state & IF_STA_LOOPBACK) {
usr.sbin/ospf6d/rde.c
1551
} else if ((iface->if_type == IFT_CARP &&
usr.sbin/ospf6d/rde.c
1552
iface->linkstate == LINK_STATE_DOWN) ||
usr.sbin/ospf6d/rde.c
1553
!(iface->depend_ok)) {
usr.sbin/ospf6d/rde.c
1561
lsa_prefix->metric = htons(iface->metric);
usr.sbin/ospf6d/rde.c
1569
iface->name, log_in6addr(&ia->addr),
usr.sbin/ospf6d/rde.c
1610
struct iface *iface;
usr.sbin/ospf6d/rde.c
1612
LIST_FOREACH(iface, &area->iface_list, entry) {
usr.sbin/ospf6d/rde.c
1613
if (iface->type == IF_TYPE_BROADCAST ||
usr.sbin/ospf6d/rde.c
1614
iface->type == IF_TYPE_NBMA) {
usr.sbin/ospf6d/rde.c
1615
old = lsa_find(iface, htons(LSA_TYPE_INTRA_A_PREFIX),
usr.sbin/ospf6d/rde.c
1616
htonl(iface->ifindex), rde_router_id());
usr.sbin/ospf6d/rde.c
1617
lsa = orig_intra_lsa_net(area, iface, old);
usr.sbin/ospf6d/rde.c
372
v = lsa_find(nbr->iface, lsa_hdr.type,
usr.sbin/ospf6d/rde.c
409
if ((v = lsa_find(nbr->iface,
usr.sbin/ospf6d/rde.c
442
v = lsa_find(nbr->iface, lsa->hdr.type, lsa->hdr.ls_id,
usr.sbin/ospf6d/rde.c
538
v = lsa_find(nbr->iface, lsa_hdr.type, lsa_hdr.ls_id,
usr.sbin/ospf6d/rde.c
615
memcpy(&nbr->iface->state, imsg.data, sizeof(int));
usr.sbin/ospf6d/rde.c
62
struct iface *rde_asext_lookup(struct in6_addr, int);
usr.sbin/ospf6d/rde.c
646
struct iface *iface, *ifp, *i;
usr.sbin/ospf6d/rde.c
69
struct lsa *orig_intra_lsa_net(struct area *, struct iface *,
usr.sbin/ospf6d/rde.c
698
sizeof(struct iface))
usr.sbin/ospf6d/rde.c
720
iface = if_find(ifp->ifindex);
usr.sbin/ospf6d/rde.c
721
if (iface == NULL)
usr.sbin/ospf6d/rde.c
724
prev_link_ok = (iface->flags & IFF_UP) &&
usr.sbin/ospf6d/rde.c
725
LINK_STATE_IS_UP(iface->linkstate);
usr.sbin/ospf6d/rde.c
727
if_update(iface, ifp->mtu, ifp->flags, ifp->if_type,
usr.sbin/ospf6d/rde.c
731
link_ok = (iface->flags & IFF_UP) &&
usr.sbin/ospf6d/rde.c
732
LINK_STATE_IS_UP(iface->linkstate);
usr.sbin/ospf6d/rde.c
736
orig_intra_area_prefix_lsas(iface->area);
usr.sbin/ospf6d/rde.c
745
iface = if_find(ifc->ifindex);
usr.sbin/ospf6d/rde.c
746
if (iface == NULL)
usr.sbin/ospf6d/rde.c
756
TAILQ_INSERT_TAIL(&iface->ifa_list, ia, entry);
usr.sbin/ospf6d/rde.c
757
if (iface->area)
usr.sbin/ospf6d/rde.c
758
orig_intra_area_prefix_lsas(iface->area);
usr.sbin/ospf6d/rde.c
766
iface = if_find(ifc->ifindex);
usr.sbin/ospf6d/rde.c
767
if (iface == NULL)
usr.sbin/ospf6d/rde.c
770
for (ia = TAILQ_FIRST(&iface->ifa_list); ia != NULL;
usr.sbin/ospf6d/rde.c
776
TAILQ_REMOVE(&iface->ifa_list, ia,
usr.sbin/ospf6d/rde.c
782
if (iface->area)
usr.sbin/ospf6d/rde.c
783
orig_intra_area_prefix_lsas(iface->area);
usr.sbin/ospf6d/rde.c
828
struct iface *iface;
usr.sbin/ospf6d/rde.c
835
LIST_FOREACH(iface, &area->iface_list, entry) {
usr.sbin/ospf6d/rde.c
837
0, pid, -1, iface, sizeof(*iface));
usr.sbin/ospf6d/rde.c
838
lsa_dump(&iface->lsa_tree, imsg_type, pid);
usr.sbin/ospf6d/rde.c
941
struct iface *iface;
usr.sbin/ospf6d/rde.c
951
LIST_FOREACH(iface, &area->iface_list, entry)
usr.sbin/ospf6d/rde.h
152
struct vertex *lsa_find(struct iface *, u_int16_t, u_int32_t, u_int32_t);
usr.sbin/ospf6d/rde.h
73
struct iface *iface;
usr.sbin/ospf6d/rde_lsdb.c
287
if (lsa->hdr.age == htons(MAX_AGE) && !nbr->self && lsa_find(nbr->iface,
usr.sbin/ospf6d/rde_lsdb.c
477
tree = &nbr->iface->lsa_tree;
usr.sbin/ospf6d/rde_lsdb.c
532
v = lsa_find(nbr->iface, lsa->type, lsa->ls_id, lsa->adv_rtr);
usr.sbin/ospf6d/rde_lsdb.c
574
lsa_find(struct iface *iface, u_int16_t type, u_int32_t ls_id,
usr.sbin/ospf6d/rde_lsdb.c
582
tree = &iface->area->lsa_tree;
usr.sbin/ospf6d/rde_lsdb.c
584
tree = &iface->lsa_tree;
usr.sbin/ospf6d/rde_lsdb.c
747
tree = &nbr->iface->lsa_tree;
usr.sbin/ospf6d/rde_spf.c
175
struct iface *iface;
usr.sbin/ospf6d/rde_spf.c
185
if ((iface = if_find(vn->ifindex)) == NULL)
usr.sbin/ospf6d/rde_spf.c
187
strlcat(hops, iface->name, sizeof(hops));
usr.sbin/ospf6d/rde_spf.c
463
struct iface *iface;
usr.sbin/ospf6d/rde_spf.c
468
LIST_FOREACH(iface, &dst->area->iface_list, entry) {
usr.sbin/ospf6d/rde_spf.c
469
if (ifindex == iface->ifindex)
usr.sbin/ospf6d/rde_spf.c
472
if (!iface) {
usr.sbin/ospf6d/rde_spf.c
480
link = lsa_find_tree(&iface->lsa_tree,
usr.sbin/ospfctl/ospfctl.c
264
struct iface *iface;
usr.sbin/ospfctl/ospfctl.c
330
iface = imsg->data;
usr.sbin/ospfctl/ospfctl.c
331
strlcpy(ifname, iface->name, sizeof(ifname));
usr.sbin/ospfctl/output.c
150
show_interface(struct ctl_iface *iface, int detail)
usr.sbin/ospfctl/output.c
155
if (asprintf(&netid, "%s/%d", inet_ntoa(iface->addr),
usr.sbin/ospfctl/output.c
156
mask2prefixlen(iface->mask.s_addr)) == -1)
usr.sbin/ospfctl/output.c
162
iface->name, print_link(iface->flags));
usr.sbin/ospfctl/output.c
164
inet_ntoa(iface->addr),
usr.sbin/ospfctl/output.c
165
mask2prefixlen(iface->mask.s_addr));
usr.sbin/ospfctl/output.c
166
printf("Area %s\n", inet_ntoa(iface->area));
usr.sbin/ospfctl/output.c
168
get_linkstate(iface->if_type, iface->linkstate));
usr.sbin/ospfctl/output.c
169
printf(" mtu %d\n", iface->mtu);
usr.sbin/ospfctl/output.c
171
inet_ntoa(iface->rtr_id),
usr.sbin/ospfctl/output.c
172
if_type_name(iface->type), iface->metric);
usr.sbin/ospfctl/output.c
173
if (iface->dependon[0] != '\0') {
usr.sbin/ospfctl/output.c
174
printf(" Depends on %s, %s\n", iface->dependon,
usr.sbin/ospfctl/output.c
175
iface->depend_ok ? "up" : "down");
usr.sbin/ospfctl/output.c
178
iface->transmit_delay, if_state_name(iface->state),
usr.sbin/ospfctl/output.c
179
iface->priority);
usr.sbin/ospfctl/output.c
181
inet_ntoa(iface->dr_id));
usr.sbin/ospfctl/output.c
182
printf("interface address %s\n", inet_ntoa(iface->dr_addr));
usr.sbin/ospfctl/output.c
184
inet_ntoa(iface->bdr_id));
usr.sbin/ospfctl/output.c
185
printf("interface address %s\n", inet_ntoa(iface->bdr_addr));
usr.sbin/ospfctl/output.c
186
if (iface->dead_interval == FAST_RTR_DEAD_TIME) {
usr.sbin/ospfctl/output.c
189
iface->fast_hello_interval, iface->dead_interval,
usr.sbin/ospfctl/output.c
190
iface->dead_interval, iface->rxmt_interval);
usr.sbin/ospfctl/output.c
195
iface->hello_interval, iface->dead_interval,
usr.sbin/ospfctl/output.c
196
iface->dead_interval, iface->rxmt_interval);
usr.sbin/ospfctl/output.c
199
if (iface->passive)
usr.sbin/ospfctl/output.c
201
else if (iface->hello_timer.tv_sec < 0)
usr.sbin/ospfctl/output.c
205
fmt_timeframe_core(iface->hello_timer.tv_sec),
usr.sbin/ospfctl/output.c
206
iface->hello_timer.tv_usec / 1000);
usr.sbin/ospfctl/output.c
207
printf(" Uptime %s\n", fmt_timeframe_core(iface->uptime));
usr.sbin/ospfctl/output.c
209
"%d\n", iface->nbr_cnt, iface->adj_cnt);
usr.sbin/ospfctl/output.c
211
if (iface->auth_type > 0) {
usr.sbin/ospfctl/output.c
212
switch (iface->auth_type) {
usr.sbin/ospfctl/output.c
221
iface->auth_keyid);
usr.sbin/ospfctl/output.c
229
iface->name, netid, if_state_name(iface->state),
usr.sbin/ospfctl/output.c
230
iface->hello_timer.tv_sec < 0 ? "-" :
usr.sbin/ospfctl/output.c
231
fmt_timeframe_core(iface->hello_timer.tv_sec),
usr.sbin/ospfctl/output.c
232
get_linkstate(iface->if_type, iface->linkstate),
usr.sbin/ospfctl/output.c
233
fmt_timeframe_core(iface->uptime),
usr.sbin/ospfctl/output.c
234
iface->nbr_cnt, iface->adj_cnt);
usr.sbin/ospfd/area.c
100
struct iface *iface;
usr.sbin/ospfd/area.c
103
LIST_FOREACH(iface, &area->iface_list, entry) {
usr.sbin/ospfd/area.c
104
if (iface->state & IF_STA_DOWN)
usr.sbin/ospfd/area.c
49
struct iface *iface = NULL;
usr.sbin/ospfd/area.c
59
while ((iface = LIST_FIRST(&area->iface_list)) != NULL) {
usr.sbin/ospfd/area.c
60
LIST_REMOVE(iface, entry);
usr.sbin/ospfd/area.c
61
if_del(iface);
usr.sbin/ospfd/auth.c
122
"interface %s", iface->name);
usr.sbin/ospfd/auth.c
132
iface->name);
usr.sbin/ospfd/auth.c
140
auth_gen(struct ibuf *buf, struct iface *iface)
usr.sbin/ospfd/auth.c
155
switch (iface->auth_type) {
usr.sbin/ospfd/auth.c
169
iface->auth_key, strnlen(iface->auth_key,
usr.sbin/ospfd/auth.c
170
sizeof(iface->auth_key))) == -1)
usr.sbin/ospfd/auth.c
175
crypt.keyid = iface->auth_keyid;
usr.sbin/ospfd/auth.c
176
crypt.seq_num = htonl(iface->crypt_seq_num);
usr.sbin/ospfd/auth.c
178
iface->crypt_seq_num++;
usr.sbin/ospfd/auth.c
185
if ((md = md_list_find(&iface->auth_md_list,
usr.sbin/ospfd/auth.c
186
iface->auth_keyid)) == NULL) {
usr.sbin/ospfd/auth.c
188
"interface %s", iface->auth_keyid, iface->name);
usr.sbin/ospfd/auth.c
204
iface->name);
usr.sbin/ospfd/auth.c
34
auth_validate(void *buf, u_int16_t len, struct iface *iface, struct nbr *nbr)
usr.sbin/ospfd/auth.c
43
if (ntohs(ospf_hdr->auth_type) != (u_int16_t)iface->auth_type) {
usr.sbin/ospfd/auth.c
45
iface->name);
usr.sbin/ospfd/auth.c
49
switch (iface->auth_type) {
usr.sbin/ospfd/auth.c
51
if (memcmp(ospf_hdr->auth_key.simple, iface->auth_key,
usr.sbin/ospfd/auth.c
54
iface->name);
usr.sbin/ospfd/auth.c
65
"interface %s", iface->name);
usr.sbin/ospfd/auth.c
76
if ((md = md_list_find(&iface->auth_md_list,
usr.sbin/ospfd/auth.c
80
iface->name);
usr.sbin/ospfd/auth.c
87
"interface %s", iface->name);
usr.sbin/ospfd/auth.c
93
"interface %s", iface->name);
usr.sbin/ospfd/auth.c
99
"interface %s", iface->name);
usr.sbin/ospfd/database.c
117
switch (nbr->iface->type) {
usr.sbin/ospfd/database.c
120
dd_hdr.iface_mtu = htons(nbr->iface->mtu);
usr.sbin/ospfd/database.c
124
dd_hdr.iface_mtu = htons(nbr->iface->mtu);
usr.sbin/ospfd/database.c
131
dst.sin_addr = nbr->iface->dst;
usr.sbin/ospfd/database.c
139
dd_hdr.opts = area_ospf_options(nbr->iface->area) | OSPF_OPTION_O;
usr.sbin/ospfd/database.c
148
if (auth_gen(buf, nbr->iface))
usr.sbin/ospfd/database.c
152
if (send_packet(nbr->iface, buf, &dst) == -1)
usr.sbin/ospfd/database.c
171
"bad packet size", inet_ntoa(nbr->id), nbr->iface->name);
usr.sbin/ospfd/database.c
179
if (ntohs(dd_hdr.iface_mtu) > nbr->iface->mtu) {
usr.sbin/ospfd/database.c
182
nbr->iface->name, ntohs(dd_hdr.iface_mtu),
usr.sbin/ospfd/database.c
183
nbr->iface->mtu);
usr.sbin/ospfd/database.c
193
nbr->iface->name);
usr.sbin/ospfd/database.c
204
nbr->iface->name, nbr_state_name(nbr->state));
usr.sbin/ospfd/database.c
209
if_fsm(nbr->iface, IF_EVT_NBR_CHNG);
usr.sbin/ospfd/database.c
220
inet_ntoa(nbr->id), nbr->iface->name,
usr.sbin/ospfd/database.c
243
inet_ntoa(nbr->id), nbr->iface->name,
usr.sbin/ospfd/database.c
262
inet_ntoa(nbr->id), nbr->iface->name,
usr.sbin/ospfd/database.c
273
nbr->iface->name);
usr.sbin/ospfd/database.c
281
inet_ntoa(nbr->id), nbr->iface->name);
usr.sbin/ospfd/database.c
296
inet_ntoa(nbr->id), nbr->iface->name,
usr.sbin/ospfd/database.c
309
inet_ntoa(nbr->id), nbr->iface->name,
usr.sbin/ospfd/database.c
321
inet_ntoa(nbr->id), nbr->iface->name,
usr.sbin/ospfd/database.c
407
inet_ntoa(nbr->id), nbr->iface->name);
usr.sbin/ospfd/database.c
414
tv.tv_sec = nbr->iface->rxmt_interval;
usr.sbin/ospfd/database.c
425
if (nbr == nbr->iface->self)
usr.sbin/ospfd/database.c
436
if (nbr == nbr->iface->self)
usr.sbin/ospfd/database.c
48
if ((buf = ibuf_open(nbr->iface->mtu - sizeof(struct ip))) == NULL)
usr.sbin/ospfd/database.c
52
if (gen_ospf_hdr(buf, nbr->iface, PACKET_TYPE_DD))
usr.sbin/ospfd/database.c
67
nbr->iface->name, nbr_state_name(nbr->state));
usr.sbin/ospfd/hello.c
102
if (auth_gen(buf, iface))
usr.sbin/ospfd/hello.c
105
if (send_packet(iface, buf, &dst) == -1)
usr.sbin/ospfd/hello.c
117
recv_hello(struct iface *iface, struct in_addr src, u_int32_t rtr_id, char *buf,
usr.sbin/ospfd/hello.c
127
iface->name);
usr.sbin/ospfd/hello.c
135
if (iface->type != IF_TYPE_POINTOPOINT &&
usr.sbin/ospfd/hello.c
136
iface->type != IF_TYPE_VIRTUALLINK)
usr.sbin/ospfd/hello.c
137
if (hello.mask != iface->mask.s_addr) {
usr.sbin/ospfd/hello.c
139
iface->name);
usr.sbin/ospfd/hello.c
143
if (ntohs(hello.hello_interval) != iface->hello_interval) {
usr.sbin/ospfd/hello.c
146
iface->name);
usr.sbin/ospfd/hello.c
150
if (ntohl(hello.rtr_dead_interval) != iface->dead_interval) {
usr.sbin/ospfd/hello.c
153
iface->name);
usr.sbin/ospfd/hello.c
157
if ((hello.opts & OSPF_OPTION_E && iface->area->stub) ||
usr.sbin/ospfd/hello.c
158
((hello.opts & OSPF_OPTION_E) == 0 && !iface->area->stub)) {
usr.sbin/ospfd/hello.c
160
"interface %s", iface->name);
usr.sbin/ospfd/hello.c
172
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ospfd/hello.c
173
if (nbr == iface->self) {
usr.sbin/ospfd/hello.c
176
"interface %s neighbor IP %s", iface->name,
usr.sbin/ospfd/hello.c
187
nbr = nbr_new(rtr_id, iface, 0);
usr.sbin/ospfd/hello.c
238
if (iface->state & IF_STA_WAITING &&
usr.sbin/ospfd/hello.c
240
if_fsm(iface, IF_EVT_BACKUP_SEEN);
usr.sbin/ospfd/hello.c
242
if (iface->state & IF_STA_WAITING && hello.bd_rtr == nbr->addr.s_addr) {
usr.sbin/ospfd/hello.c
247
LIST_FOREACH(dr, &iface->nbr_list, entry)
usr.sbin/ospfd/hello.c
250
if_fsm(iface, IF_EVT_BACKUP_SEEN);
usr.sbin/ospfd/hello.c
270
if_fsm(iface, IF_EVT_NBR_CHNG);
usr.sbin/ospfd/hello.c
38
send_hello(struct iface *iface)
usr.sbin/ospfd/hello.c
48
switch (iface->type) {
usr.sbin/ospfd/hello.c
56
if_type_name(iface->type), iface->name);
usr.sbin/ospfd/hello.c
59
dst.sin_addr = iface->dst;
usr.sbin/ospfd/hello.c
70
if (gen_ospf_hdr(buf, iface, PACKET_TYPE_HELLO))
usr.sbin/ospfd/hello.c
74
hello.mask = iface->mask.s_addr;
usr.sbin/ospfd/hello.c
75
hello.hello_interval = htons(iface->hello_interval);
usr.sbin/ospfd/hello.c
76
hello.opts = area_ospf_options(iface->area);
usr.sbin/ospfd/hello.c
77
hello.rtr_priority = iface->priority;
usr.sbin/ospfd/hello.c
78
hello.rtr_dead_interval = htonl(iface->dead_interval);
usr.sbin/ospfd/hello.c
80
if (iface->dr) {
usr.sbin/ospfd/hello.c
81
hello.d_rtr = iface->dr->addr.s_addr;
usr.sbin/ospfd/hello.c
82
iface->self->dr.s_addr = iface->dr->addr.s_addr;
usr.sbin/ospfd/hello.c
85
if (iface->bdr) {
usr.sbin/ospfd/hello.c
86
hello.bd_rtr = iface->bdr->addr.s_addr;
usr.sbin/ospfd/hello.c
87
iface->self->bdr.s_addr = iface->bdr->addr.s_addr;
usr.sbin/ospfd/hello.c
95
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ospfd/hello.c
96
if ((nbr->state >= NBR_STA_INIT) && (nbr != iface->self))
usr.sbin/ospfd/interface.c
109
"event %s not expected in state %s", iface->name,
usr.sbin/ospfd/interface.c
116
ret = if_act_start(iface);
usr.sbin/ospfd/interface.c
119
ret = if_act_elect(iface);
usr.sbin/ospfd/interface.c
122
ret = if_act_reset(iface);
usr.sbin/ospfd/interface.c
131
"event %s, state %s", iface->name, if_event_names[event],
usr.sbin/ospfd/interface.c
137
iface->state = new_state;
usr.sbin/ospfd/interface.c
139
if (iface->state != old_state) {
usr.sbin/ospfd/interface.c
140
area_track(iface->area);
usr.sbin/ospfd/interface.c
141
orig_rtr_lsa(iface->area);
usr.sbin/ospfd/interface.c
145
(iface->state & (IF_STA_MULTI | IF_STA_POINTTOPOINT)) == 0)
usr.sbin/ospfd/interface.c
146
ospfe_demote_iface(iface, 0);
usr.sbin/ospfd/interface.c
148
iface->state & (IF_STA_MULTI | IF_STA_POINTTOPOINT))
usr.sbin/ospfd/interface.c
149
ospfe_demote_iface(iface, 1);
usr.sbin/ospfd/interface.c
154
iface->name, if_state_name(old_state), if_state_name(iface->state));
usr.sbin/ospfd/interface.c
159
struct iface *
usr.sbin/ospfd/interface.c
162
struct iface *iface;
usr.sbin/ospfd/interface.c
164
if ((iface = calloc(1, sizeof(*iface))) == NULL)
usr.sbin/ospfd/interface.c
167
iface->state = IF_STA_DOWN;
usr.sbin/ospfd/interface.c
169
LIST_INIT(&iface->nbr_list);
usr.sbin/ospfd/interface.c
170
TAILQ_INIT(&iface->ls_ack_list);
usr.sbin/ospfd/interface.c
171
TAILQ_INIT(&iface->auth_md_list);
usr.sbin/ospfd/interface.c
172
RB_INIT(&iface->lsa_tree);
usr.sbin/ospfd/interface.c
174
iface->crypt_seq_num = arc4random() & 0x0fffffff;
usr.sbin/ospfd/interface.c
177
iface->type = IF_TYPE_VIRTUALLINK;
usr.sbin/ospfd/interface.c
178
snprintf(iface->name, sizeof(iface->name), "vlink%d",
usr.sbin/ospfd/interface.c
180
iface->flags |= IFF_UP;
usr.sbin/ospfd/interface.c
181
iface->mtu = IP_MSS;
usr.sbin/ospfd/interface.c
182
return (iface);
usr.sbin/ospfd/interface.c
185
strlcpy(iface->name, kif->ifname, sizeof(iface->name));
usr.sbin/ospfd/interface.c
189
iface->type = IF_TYPE_POINTOPOINT;
usr.sbin/ospfd/interface.c
192
iface->type = IF_TYPE_BROADCAST;
usr.sbin/ospfd/interface.c
194
iface->type = IF_TYPE_POINTOPOINT;
usr.sbin/ospfd/interface.c
195
iface->passive = 1;
usr.sbin/ospfd/interface.c
199
iface->mtu = kif->mtu;
usr.sbin/ospfd/interface.c
200
iface->ifindex = kif->ifindex;
usr.sbin/ospfd/interface.c
201
iface->rdomain = kif->rdomain;
usr.sbin/ospfd/interface.c
202
iface->flags = kif->flags;
usr.sbin/ospfd/interface.c
203
iface->linkstate = kif->link_state;
usr.sbin/ospfd/interface.c
204
iface->if_type = kif->if_type;
usr.sbin/ospfd/interface.c
205
iface->baudrate = kif->baudrate;
usr.sbin/ospfd/interface.c
208
iface->addr = ka->addr;
usr.sbin/ospfd/interface.c
209
iface->mask = ka->mask;
usr.sbin/ospfd/interface.c
211
iface->dst = ka->dstbrd;
usr.sbin/ospfd/interface.c
214
return (iface);
usr.sbin/ospfd/interface.c
218
if_del(struct iface *iface)
usr.sbin/ospfd/interface.c
223
if ((iface->state & (IF_STA_MULTI | IF_STA_POINTTOPOINT)) == 0)
usr.sbin/ospfd/interface.c
224
ospfe_demote_iface(iface, 1);
usr.sbin/ospfd/interface.c
227
while ((nbr = LIST_FIRST(&iface->nbr_list)) != NULL)
usr.sbin/ospfd/interface.c
230
if (evtimer_pending(&iface->hello_timer, NULL))
usr.sbin/ospfd/interface.c
231
evtimer_del(&iface->hello_timer);
usr.sbin/ospfd/interface.c
232
if (evtimer_pending(&iface->wait_timer, NULL))
usr.sbin/ospfd/interface.c
233
evtimer_del(&iface->wait_timer);
usr.sbin/ospfd/interface.c
234
if (evtimer_pending(&iface->lsack_tx_timer, NULL))
usr.sbin/ospfd/interface.c
235
evtimer_del(&iface->lsack_tx_timer);
usr.sbin/ospfd/interface.c
237
ls_ack_list_clr(iface);
usr.sbin/ospfd/interface.c
238
md_list_clr(&iface->auth_md_list);
usr.sbin/ospfd/interface.c
239
free(iface);
usr.sbin/ospfd/interface.c
243
if_init(struct ospfd_conf *xconf, struct iface *iface)
usr.sbin/ospfd/interface.c
246
iface->self = nbr_new(ospfe_router_id(), iface, 1);
usr.sbin/ospfd/interface.c
249
evtimer_set(&iface->lsack_tx_timer, ls_ack_tx_timer, iface);
usr.sbin/ospfd/interface.c
250
evtimer_set(&iface->hello_timer, if_hello_timer, iface);
usr.sbin/ospfd/interface.c
251
evtimer_set(&iface->wait_timer, if_wait_timer, iface);
usr.sbin/ospfd/interface.c
253
iface->fd = xconf->ospf_socket;
usr.sbin/ospfd/interface.c
255
ospfe_demote_iface(iface, 0);
usr.sbin/ospfd/interface.c
262
struct iface *iface = arg;
usr.sbin/ospfd/interface.c
265
send_hello(iface);
usr.sbin/ospfd/interface.c
269
if (iface->dead_interval == FAST_RTR_DEAD_TIME)
usr.sbin/ospfd/interface.c
270
tv.tv_usec = iface->fast_hello_interval * 1000;
usr.sbin/ospfd/interface.c
272
tv.tv_sec = iface->hello_interval;
usr.sbin/ospfd/interface.c
273
if (evtimer_add(&iface->hello_timer, &tv) == -1)
usr.sbin/ospfd/interface.c
278
if_start_hello_timer(struct iface *iface)
usr.sbin/ospfd/interface.c
283
if (evtimer_add(&iface->hello_timer, &tv) == -1)
usr.sbin/ospfd/interface.c
288
if_stop_hello_timer(struct iface *iface)
usr.sbin/ospfd/interface.c
290
if (evtimer_del(&iface->hello_timer) == -1)
usr.sbin/ospfd/interface.c
297
struct iface *iface = arg;
usr.sbin/ospfd/interface.c
299
if_fsm(iface, IF_EVT_WTIMER);
usr.sbin/ospfd/interface.c
303
if_start_wait_timer(struct iface *iface)
usr.sbin/ospfd/interface.c
308
tv.tv_sec = iface->dead_interval;
usr.sbin/ospfd/interface.c
309
if (evtimer_add(&iface->wait_timer, &tv) == -1)
usr.sbin/ospfd/interface.c
314
if_stop_wait_timer(struct iface *iface)
usr.sbin/ospfd/interface.c
316
if (evtimer_del(&iface->wait_timer) == -1)
usr.sbin/ospfd/interface.c
322
if_act_start(struct iface *iface)
usr.sbin/ospfd/interface.c
327
if (!(iface->flags & IFF_UP) ||
usr.sbin/ospfd/interface.c
328
(!LINK_STATE_IS_UP(iface->linkstate) &&
usr.sbin/ospfd/interface.c
329
!(iface->if_type == IFT_CARP &&
usr.sbin/ospfd/interface.c
330
iface->linkstate == LINK_STATE_DOWN)))
usr.sbin/ospfd/interface.c
333
if (iface->if_type == IFT_CARP && iface->passive == 0) {
usr.sbin/ospfd/interface.c
336
iface->name);
usr.sbin/ospfd/interface.c
337
iface->passive = 1;
usr.sbin/ospfd/interface.c
341
iface->uptime = now.tv_sec;
usr.sbin/ospfd/interface.c
344
if (iface->flags & IFF_LOOPBACK)
usr.sbin/ospfd/interface.c
345
iface->state = IF_STA_LOOPBACK;
usr.sbin/ospfd/interface.c
347
if (iface->passive) {
usr.sbin/ospfd/interface.c
349
orig_rtr_lsa(iface->area);
usr.sbin/ospfd/interface.c
353
switch (iface->type) {
usr.sbin/ospfd/interface.c
356
if (if_join_group(iface, &addr))
usr.sbin/ospfd/interface.c
358
iface->state = IF_STA_POINTTOPOINT;
usr.sbin/ospfd/interface.c
361
iface->state = IF_STA_POINTTOPOINT;
usr.sbin/ospfd/interface.c
366
if_type_name(iface->type), iface->name);
usr.sbin/ospfd/interface.c
370
if (if_join_group(iface, &addr))
usr.sbin/ospfd/interface.c
372
if (iface->priority == 0) {
usr.sbin/ospfd/interface.c
373
iface->state = IF_STA_DROTHER;
usr.sbin/ospfd/interface.c
375
iface->state = IF_STA_WAITING;
usr.sbin/ospfd/interface.c
376
if_start_wait_timer(iface);
usr.sbin/ospfd/interface.c
384
if_start_hello_timer(iface);
usr.sbin/ospfd/interface.c
401
if_act_elect(struct iface *iface)
usr.sbin/ospfd/interface.c
412
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ospfd/interface.c
42
void if_start_hello_timer(struct iface *);
usr.sbin/ospfd/interface.c
43
void if_stop_hello_timer(struct iface *);
usr.sbin/ospfd/interface.c
435
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ospfd/interface.c
44
void if_stop_wait_timer(struct iface *);
usr.sbin/ospfd/interface.c
457
((iface->self == dr && iface->self != iface->dr) ||
usr.sbin/ospfd/interface.c
458
(iface->self != dr && iface->self == iface->dr) ||
usr.sbin/ospfd/interface.c
459
(iface->self == bdr && iface->self != iface->bdr) ||
usr.sbin/ospfd/interface.c
46
void if_start_wait_timer(struct iface *);
usr.sbin/ospfd/interface.c
460
(iface->self != bdr && iface->self == iface->bdr))) {
usr.sbin/ospfd/interface.c
466
iface->self->dr.s_addr = dr->addr.s_addr;
usr.sbin/ospfd/interface.c
468
iface->self->bdr.s_addr = bdr->addr.s_addr;
usr.sbin/ospfd/interface.c
47
void if_stop_wait_timer(struct iface *);
usr.sbin/ospfd/interface.c
474
"old bdr %s new bdr %s", iface->name,
usr.sbin/ospfd/interface.c
475
iface->dr ? inet_ntop(AF_INET, &iface->dr->addr, b1, sizeof(b1)) :
usr.sbin/ospfd/interface.c
477
iface->bdr ? inet_ntop(AF_INET, &iface->bdr->addr, b3, sizeof(b3)) :
usr.sbin/ospfd/interface.c
485
old_state = iface->state;
usr.sbin/ospfd/interface.c
486
if (dr == iface->self)
usr.sbin/ospfd/interface.c
487
iface->state = IF_STA_DR;
usr.sbin/ospfd/interface.c
488
else if (bdr == iface->self)
usr.sbin/ospfd/interface.c
489
iface->state = IF_STA_BACKUP;
usr.sbin/ospfd/interface.c
491
iface->state = IF_STA_DROTHER;
usr.sbin/ospfd/interface.c
498
if (iface->dr != dr || iface->bdr != bdr)
usr.sbin/ospfd/interface.c
501
iface->dr = dr;
usr.sbin/ospfd/interface.c
502
iface->bdr = bdr;
usr.sbin/ospfd/interface.c
507
(iface->state & IF_STA_DRORBDR) == 0) {
usr.sbin/ospfd/interface.c
508
if (if_leave_group(iface, &addr))
usr.sbin/ospfd/interface.c
511
iface->state & IF_STA_DRORBDR) {
usr.sbin/ospfd/interface.c
512
if (if_join_group(iface, &addr))
usr.sbin/ospfd/interface.c
516
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ospfd/interface.c
521
orig_rtr_lsa(iface->area);
usr.sbin/ospfd/interface.c
522
if (iface->state & IF_STA_DR || old_state & IF_STA_DR)
usr.sbin/ospfd/interface.c
523
orig_net_lsa(iface);
usr.sbin/ospfd/interface.c
526
if_start_hello_timer(iface);
usr.sbin/ospfd/interface.c
531
if_act_reset(struct iface *iface)
usr.sbin/ospfd/interface.c
536
if (iface->passive) {
usr.sbin/ospfd/interface.c
538
orig_rtr_lsa(iface->area);
usr.sbin/ospfd/interface.c
542
switch (iface->type) {
usr.sbin/ospfd/interface.c
547
if_leave_group(iface, &addr);
usr.sbin/ospfd/interface.c
548
if (iface->state & IF_STA_DRORBDR) {
usr.sbin/ospfd/interface.c
550
if_leave_group(iface, &addr);
usr.sbin/ospfd/interface.c
559
if_type_name(iface->type), iface->name);
usr.sbin/ospfd/interface.c
565
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ospfd/interface.c
572
iface->dr = NULL;
usr.sbin/ospfd/interface.c
573
iface->bdr = NULL;
usr.sbin/ospfd/interface.c
575
ls_ack_list_clr(iface);
usr.sbin/ospfd/interface.c
576
stop_ls_ack_tx_timer(iface);
usr.sbin/ospfd/interface.c
577
if_stop_hello_timer(iface);
usr.sbin/ospfd/interface.c
578
if_stop_wait_timer(iface);
usr.sbin/ospfd/interface.c
581
send_hello(iface);
usr.sbin/ospfd/interface.c
587
if_to_ctl(struct iface *iface)
usr.sbin/ospfd/interface.c
593
memcpy(ictl.name, iface->name, sizeof(ictl.name));
usr.sbin/ospfd/interface.c
594
memcpy(&ictl.addr, &iface->addr, sizeof(ictl.addr));
usr.sbin/ospfd/interface.c
595
memcpy(&ictl.mask, &iface->mask, sizeof(ictl.mask));
usr.sbin/ospfd/interface.c
597
memcpy(&ictl.area, &iface->area->id, sizeof(ictl.area));
usr.sbin/ospfd/interface.c
598
if (iface->dr) {
usr.sbin/ospfd/interface.c
599
memcpy(&ictl.dr_id, &iface->dr->id, sizeof(ictl.dr_id));
usr.sbin/ospfd/interface.c
600
memcpy(&ictl.dr_addr, &iface->dr->addr, sizeof(ictl.dr_addr));
usr.sbin/ospfd/interface.c
605
if (iface->bdr) {
usr.sbin/ospfd/interface.c
606
memcpy(&ictl.bdr_id, &iface->bdr->id, sizeof(ictl.bdr_id));
usr.sbin/ospfd/interface.c
607
memcpy(&ictl.bdr_addr, &iface->bdr->addr,
usr.sbin/ospfd/interface.c
613
ictl.ifindex = iface->ifindex;
usr.sbin/ospfd/interface.c
614
ictl.state = iface->state;
usr.sbin/ospfd/interface.c
615
ictl.mtu = iface->mtu;
usr.sbin/ospfd/interface.c
618
ictl.baudrate = iface->baudrate;
usr.sbin/ospfd/interface.c
619
ictl.dead_interval = iface->dead_interval;
usr.sbin/ospfd/interface.c
620
ictl.fast_hello_interval = iface->fast_hello_interval;
usr.sbin/ospfd/interface.c
621
ictl.transmit_delay = iface->transmit_delay;
usr.sbin/ospfd/interface.c
622
ictl.hello_interval = iface->hello_interval;
usr.sbin/ospfd/interface.c
623
ictl.flags = iface->flags;
usr.sbin/ospfd/interface.c
624
ictl.metric = iface->metric;
usr.sbin/ospfd/interface.c
625
ictl.rxmt_interval = iface->rxmt_interval;
usr.sbin/ospfd/interface.c
626
ictl.type = iface->type;
usr.sbin/ospfd/interface.c
627
ictl.linkstate = iface->linkstate;
usr.sbin/ospfd/interface.c
628
ictl.if_type = iface->if_type;
usr.sbin/ospfd/interface.c
629
ictl.priority = iface->priority;
usr.sbin/ospfd/interface.c
630
ictl.passive = iface->passive;
usr.sbin/ospfd/interface.c
631
ictl.auth_type = iface->auth_type;
usr.sbin/ospfd/interface.c
632
ictl.auth_keyid = iface->auth_keyid;
usr.sbin/ospfd/interface.c
634
memcpy(ictl.dependon, iface->dependon, sizeof(ictl.dependon));
usr.sbin/ospfd/interface.c
635
ictl.depend_ok = iface->depend_ok;
usr.sbin/ospfd/interface.c
638
if (evtimer_pending(&iface->hello_timer, &tv)) {
usr.sbin/ospfd/interface.c
645
if (iface->state != IF_STA_DOWN &&
usr.sbin/ospfd/interface.c
646
iface->uptime != 0) {
usr.sbin/ospfd/interface.c
647
ictl.uptime = now.tv_sec - iface->uptime;
usr.sbin/ospfd/interface.c
651
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ospfd/interface.c
652
if (nbr == iface->self)
usr.sbin/ospfd/interface.c
710
if_join_group(struct iface *iface, struct in_addr *addr)
usr.sbin/ospfd/interface.c
715
switch (iface->type) {
usr.sbin/ospfd/interface.c
719
if (iface->ifindex == ifg->ifindex &&
usr.sbin/ospfd/interface.c
726
ifg->ifindex = iface->ifindex;
usr.sbin/ospfd/interface.c
736
mreq.imr_ifindex = iface->ifindex;
usr.sbin/ospfd/interface.c
738
if (setsockopt(iface->fd, IPPROTO_IP, IP_ADD_MEMBERSHIP,
usr.sbin/ospfd/interface.c
741
"interface %s address %s", iface->name,
usr.sbin/ospfd/interface.c
750
if_type_name(iface->type), iface->name);
usr.sbin/ospfd/interface.c
760
if_leave_group(struct iface *iface, struct in_addr *addr)
usr.sbin/ospfd/interface.c
765
switch (iface->type) {
usr.sbin/ospfd/interface.c
769
if (iface->ifindex == ifg->ifindex &&
usr.sbin/ospfd/interface.c
785
mreq.imr_ifindex = iface->ifindex;
usr.sbin/ospfd/interface.c
787
if (setsockopt(iface->fd, IPPROTO_IP, IP_DROP_MEMBERSHIP,
usr.sbin/ospfd/interface.c
790
"interface %s address %s", iface->name,
usr.sbin/ospfd/interface.c
799
if_type_name(iface->type), iface->name);
usr.sbin/ospfd/interface.c
809
if_set_mcast(struct iface *iface)
usr.sbin/ospfd/interface.c
813
switch (iface->type) {
usr.sbin/ospfd/interface.c
817
mreq.imr_ifindex = iface->ifindex;
usr.sbin/ospfd/interface.c
818
if (setsockopt(iface->fd, IPPROTO_IP, IP_MULTICAST_IF,
usr.sbin/ospfd/interface.c
821
"IP_MULTICAST_IF, interface %s", iface->name);
usr.sbin/ospfd/interface.c
829
if_type_name(iface->type), iface->name);
usr.sbin/ospfd/interface.c
91
if_fsm(struct iface *iface, enum iface_event event)
usr.sbin/ospfd/interface.c
97
old_state = iface->state;
usr.sbin/ospfd/lsack.c
115
inet_ntoa(nbr->id), nbr->iface->name);
usr.sbin/ospfd/lsack.c
125
if (nbr->iface->state & IF_STA_DROTHER)
usr.sbin/ospfd/lsack.c
127
nbr->iface->self, &lsa_hdr);
usr.sbin/ospfd/lsack.c
137
nbr->iface->name);
usr.sbin/ospfd/lsack.c
152
inet_ntoa(nbr->id), nbr->iface->name);
usr.sbin/ospfd/lsack.c
167
lsa_hdr->type, inet_ntoa(nbr->id), nbr->iface->name);
usr.sbin/ospfd/lsack.c
175
nbr->iface->name);
usr.sbin/ospfd/lsack.c
184
ls_ack_list_add(struct iface *iface, struct lsa_hdr *lsa)
usr.sbin/ospfd/lsack.c
194
if (ls_ack_list_empty(iface))
usr.sbin/ospfd/lsack.c
195
start_ls_ack_tx_timer(iface);
usr.sbin/ospfd/lsack.c
197
TAILQ_INSERT_TAIL(&iface->ls_ack_list, le, entry);
usr.sbin/ospfd/lsack.c
199
iface->ls_ack_cnt++;
usr.sbin/ospfd/lsack.c
202
if (iface->ls_ack_cnt > IP_MSS / sizeof(struct lsa_hdr))
usr.sbin/ospfd/lsack.c
203
start_ls_ack_tx_timer_now(iface);
usr.sbin/ospfd/lsack.c
207
ls_ack_list_free(struct iface *iface, struct lsa_entry *le)
usr.sbin/ospfd/lsack.c
209
TAILQ_REMOVE(&iface->ls_ack_list, le, entry);
usr.sbin/ospfd/lsack.c
213
iface->ls_ack_cnt--;
usr.sbin/ospfd/lsack.c
217
ls_ack_list_clr(struct iface *iface)
usr.sbin/ospfd/lsack.c
221
while ((le = TAILQ_FIRST(&iface->ls_ack_list)) != NULL) {
usr.sbin/ospfd/lsack.c
222
TAILQ_REMOVE(&iface->ls_ack_list, le, entry);
usr.sbin/ospfd/lsack.c
226
iface->ls_ack_cnt = 0;
usr.sbin/ospfd/lsack.c
230
ls_ack_list_empty(struct iface *iface)
usr.sbin/ospfd/lsack.c
232
return (TAILQ_EMPTY(&iface->ls_ack_list));
usr.sbin/ospfd/lsack.c
240
struct iface *iface = arg;
usr.sbin/ospfd/lsack.c
246
while (!ls_ack_list_empty(iface)) {
usr.sbin/ospfd/lsack.c
247
if ((buf = prepare_ls_ack(iface)) == NULL)
usr.sbin/ospfd/lsack.c
251
for (le = TAILQ_FIRST(&iface->ls_ack_list); le != NULL;
usr.sbin/ospfd/lsack.c
259
ls_ack_list_free(iface, le);
usr.sbin/ospfd/lsack.c
269
switch (iface->type) {
usr.sbin/ospfd/lsack.c
272
send_ls_ack(iface, addr, buf);
usr.sbin/ospfd/lsack.c
275
if (iface->state & IF_STA_DRORBDR)
usr.sbin/ospfd/lsack.c
279
send_ls_ack(iface, addr, buf);
usr.sbin/ospfd/lsack.c
284
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ospfd/lsack.c
285
if (nbr == iface->self)
usr.sbin/ospfd/lsack.c
289
send_ls_ack(iface, nbr->addr, buf);
usr.sbin/ospfd/lsack.c
300
start_ls_ack_tx_timer(struct iface *iface)
usr.sbin/ospfd/lsack.c
305
tv.tv_sec = iface->rxmt_interval / 2;
usr.sbin/ospfd/lsack.c
307
if (evtimer_add(&iface->lsack_tx_timer, &tv) == -1)
usr.sbin/ospfd/lsack.c
312
start_ls_ack_tx_timer_now(struct iface *iface)
usr.sbin/ospfd/lsack.c
317
if (evtimer_add(&iface->lsack_tx_timer, &tv) == -1)
usr.sbin/ospfd/lsack.c
322
stop_ls_ack_tx_timer(struct iface *iface)
usr.sbin/ospfd/lsack.c
324
if (evtimer_del(&iface->lsack_tx_timer) == -1)
usr.sbin/ospfd/lsack.c
33
int send_ls_ack(struct iface *, struct in_addr, struct ibuf *);
usr.sbin/ospfd/lsack.c
34
struct ibuf *prepare_ls_ack(struct iface *);
usr.sbin/ospfd/lsack.c
35
void start_ls_ack_tx_timer_now(struct iface *);
usr.sbin/ospfd/lsack.c
39
prepare_ls_ack(struct iface *iface)
usr.sbin/ospfd/lsack.c
43
if ((buf = ibuf_open(iface->mtu - sizeof(struct ip))) == NULL) {
usr.sbin/ospfd/lsack.c
49
if (gen_ospf_hdr(buf, iface, PACKET_TYPE_LS_ACK)) {
usr.sbin/ospfd/lsack.c
59
send_ls_ack(struct iface *iface, struct in_addr addr, struct ibuf *buf)
usr.sbin/ospfd/lsack.c
64
if (auth_gen(buf, iface)) {
usr.sbin/ospfd/lsack.c
73
if (send_packet(iface, buf, &dst) == -1) {
usr.sbin/ospfd/lsack.c
81
send_direct_ack(struct iface *iface, struct in_addr addr, void *d, size_t len)
usr.sbin/ospfd/lsack.c
86
if ((buf = prepare_ls_ack(iface)) == NULL)
usr.sbin/ospfd/lsack.c
96
ret = send_ls_ack(iface, addr, buf);
usr.sbin/ospfd/lsreq.c
103
inet_ntoa(nbr->id), nbr->iface->name);
usr.sbin/ospfd/lsreq.c
215
nbr->iface->name);
usr.sbin/ospfd/lsreq.c
222
tv.tv_sec = nbr->iface->rxmt_interval;
usr.sbin/ospfd/lsreq.c
233
if (nbr == nbr->iface->self)
usr.sbin/ospfd/lsreq.c
244
if (nbr == nbr->iface->self)
usr.sbin/ospfd/lsreq.c
39
if ((buf = ibuf_open(nbr->iface->mtu - sizeof(struct ip))) == NULL)
usr.sbin/ospfd/lsreq.c
46
switch (nbr->iface->type) {
usr.sbin/ospfd/lsreq.c
61
if (gen_ospf_hdr(buf, nbr->iface, PACKET_TYPE_LS_REQUEST))
usr.sbin/ospfd/lsreq.c
77
if (auth_gen(buf, nbr->iface))
usr.sbin/ospfd/lsreq.c
80
if (send_packet(nbr->iface, buf, &dst) == -1)
usr.sbin/ospfd/lsupdate.c
103
if (iface == originator->iface && iface->self != originator) {
usr.sbin/ospfd/lsupdate.c
104
if (iface->dr == originator || iface->bdr == originator)
usr.sbin/ospfd/lsupdate.c
106
if (iface->state & IF_STA_BACKUP)
usr.sbin/ospfd/lsupdate.c
116
switch (iface->type) {
usr.sbin/ospfd/lsupdate.c
119
ls_retrans_list_add(iface->self, data, 0, 1);
usr.sbin/ospfd/lsupdate.c
124
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ospfd/lsupdate.c
125
if (nbr == iface->self)
usr.sbin/ospfd/lsupdate.c
148
prepare_ls_update(struct iface *iface)
usr.sbin/ospfd/lsupdate.c
152
if ((buf = ibuf_dynamic(iface->mtu - sizeof(struct ip),
usr.sbin/ospfd/lsupdate.c
157
if (gen_ospf_hdr(buf, iface, PACKET_TYPE_LS_UPDATE))
usr.sbin/ospfd/lsupdate.c
172
add_ls_update(struct ibuf *buf, struct iface *iface, void *data, u_int16_t len,
usr.sbin/ospfd/lsupdate.c
178
if ((size_t)iface->mtu < sizeof(struct ip) + sizeof(struct ospf_hdr) +
usr.sbin/ospfd/lsupdate.c
195
if ((age += older + iface->transmit_delay) >= MAX_AGE)
usr.sbin/ospfd/lsupdate.c
206
send_ls_update(struct ibuf *buf, struct iface *iface, struct in_addr addr,
usr.sbin/ospfd/lsupdate.c
214
if (auth_gen(buf, iface))
usr.sbin/ospfd/lsupdate.c
222
if (send_packet(iface, buf, &dst) == -1)
usr.sbin/ospfd/lsupdate.c
242
nbr->iface->name);
usr.sbin/ospfd/lsupdate.c
259
inet_ntoa(nbr->id), nbr->iface->name);
usr.sbin/ospfd/lsupdate.c
268
nbr->iface->name);
usr.sbin/ospfd/lsupdate.c
275
nbr->iface->name);
usr.sbin/ospfd/lsupdate.c
286
nbr->iface->name);
usr.sbin/ospfd/lsupdate.c
35
struct ibuf *prepare_ls_update(struct iface *);
usr.sbin/ospfd/lsupdate.c
36
int add_ls_update(struct ibuf *, struct iface *, void *, u_int16_t,
usr.sbin/ospfd/lsupdate.c
38
int send_ls_update(struct ibuf *, struct iface *, struct in_addr, u_int32_t);
usr.sbin/ospfd/lsupdate.c
45
lsa_flood(struct iface *iface, struct nbr *originator, struct lsa_hdr *lsa_hdr,
usr.sbin/ospfd/lsupdate.c
453
if (nbr->iface->self == nbr) {
usr.sbin/ospfd/lsupdate.c
459
if (le->le_oneshot && nbr->iface->state & IF_STA_DRORBDR)
usr.sbin/ospfd/lsupdate.c
461
else if (nbr->iface->state & IF_STA_DRORBDR) {
usr.sbin/ospfd/lsupdate.c
466
lsa_flood(nbr->iface, nbr, &le->le_ref->hdr,
usr.sbin/ospfd/lsupdate.c
471
} else if (nbr->iface->type == IF_TYPE_POINTOPOINT)
usr.sbin/ospfd/lsupdate.c
478
if ((buf = prepare_ls_update(nbr->iface)) == NULL) {
usr.sbin/ospfd/lsupdate.c
491
if (add_ls_update(buf, nbr->iface, le->le_ref->data,
usr.sbin/ospfd/lsupdate.c
497
inet_ntoa(nbr->id), nbr->iface->name);
usr.sbin/ospfd/lsupdate.c
500
le->le_when = nbr->iface->rxmt_interval;
usr.sbin/ospfd/lsupdate.c
511
le->le_when = nbr->iface->rxmt_interval;
usr.sbin/ospfd/lsupdate.c
516
send_ls_update(buf, nbr->iface, addr, nlsa);
usr.sbin/ospfd/lsupdate.c
53
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ospfd/lsupdate.c
54
if (nbr == iface->self)
usr.sbin/ospfd/lsupdate.c
59
if (iface->state & IF_STA_DROTHER && !queued)
usr.sbin/ospfd/lsupdate.c
60
while ((le = ls_retrans_list_get(iface->self, lsa_hdr)))
usr.sbin/ospfd/lsupdate.c
61
ls_retrans_list_free(iface->self, le);
usr.sbin/ospfd/lsupdate.c
89
if (iface->state & IF_STA_DROTHER) {
usr.sbin/ospfd/lsupdate.c
91
ls_retrans_list_add(iface->self, data,
usr.sbin/ospfd/lsupdate.c
92
iface->rxmt_interval, 0);
usr.sbin/ospfd/lsupdate.c
95
ls_retrans_list_add(nbr, data, iface->rxmt_interval, 0);
usr.sbin/ospfd/neighbor.c
126
if (nbr == nbr->iface->self)
usr.sbin/ospfd/neighbor.c
141
inet_ntoa(nbr->id), nbr->iface->name,
usr.sbin/ospfd/neighbor.c
190
inet_ntoa(nbr->id), nbr->iface->name,
usr.sbin/ospfd/neighbor.c
209
orig_rtr_lsa(nbr->iface->area);
usr.sbin/ospfd/neighbor.c
210
if (nbr->iface->state & IF_STA_DR)
usr.sbin/ospfd/neighbor.c
211
orig_net_lsa(nbr->iface);
usr.sbin/ospfd/neighbor.c
219
if_fsm(nbr->iface, IF_EVT_NBR_CHNG);
usr.sbin/ospfd/neighbor.c
225
inet_ntoa(nbr->id), nbr->iface->name,
usr.sbin/ospfd/neighbor.c
229
if (nbr->iface->type == IF_TYPE_VIRTUALLINK) {
usr.sbin/ospfd/neighbor.c
230
orig_rtr_lsa(nbr->iface->area);
usr.sbin/ospfd/neighbor.c
271
nbr_new(u_int32_t nbr_id, struct iface *iface, int self)
usr.sbin/ospfd/neighbor.c
293
nbr->iface = iface;
usr.sbin/ospfd/neighbor.c
294
LIST_INSERT_HEAD(&iface->nbr_list, nbr, entry);
usr.sbin/ospfd/neighbor.c
304
nbr->addr.s_addr = iface->addr.s_addr;
usr.sbin/ospfd/neighbor.c
305
nbr->priority = iface->priority;
usr.sbin/ospfd/neighbor.c
317
rn.area_id.s_addr = nbr->iface->area->id.s_addr;
usr.sbin/ospfd/neighbor.c
319
rn.ifindex = nbr->iface->ifindex;
usr.sbin/ospfd/neighbor.c
373
nbr_find_id(struct iface *iface, u_int32_t rtr_id)
usr.sbin/ospfd/neighbor.c
377
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ospfd/neighbor.c
403
tv.tv_sec = nbr->iface->dead_interval;
usr.sbin/ospfd/neighbor.c
422
tv.tv_sec = nbr->iface->dead_interval;
usr.sbin/ospfd/neighbor.c
438
"on interface %s", inet_ntoa(nbr->id), nbr->iface->name);
usr.sbin/ospfd/neighbor.c
475
struct iface *iface = nbr->iface;
usr.sbin/ospfd/neighbor.c
477
switch (iface->type) {
usr.sbin/ospfd/neighbor.c
489
if (iface->dr == nbr || iface->bdr == nbr ||
usr.sbin/ospfd/neighbor.c
490
iface->state & IF_STA_DRORBDR)
usr.sbin/ospfd/neighbor.c
528
nbr->iface->name);
usr.sbin/ospfd/neighbor.c
607
if (nbr == nbr->iface->self)
usr.sbin/ospfd/neighbor.c
623
inet_ntoa(nbr->id), nbr->iface->name);
usr.sbin/ospfd/neighbor.c
648
inet_ntoa(nbr->id), nbr->iface->name);
usr.sbin/ospfd/neighbor.c
660
memcpy(nctl.name, nbr->iface->name, sizeof(nctl.name));
usr.sbin/ospfd/neighbor.c
665
memcpy(&nctl.area, &nbr->iface->area->id, sizeof(nctl.area));
usr.sbin/ospfd/neighbor.c
682
if (nbr->iface->dr == nbr)
usr.sbin/ospfd/neighbor.c
684
else if (nbr->iface->bdr == nbr)
usr.sbin/ospfd/neighbor.c
686
else if (nbr->iface->state & IF_STA_MULTI)
usr.sbin/ospfd/neighbor.c
689
nctl.iface_state = nbr->iface->state;
usr.sbin/ospfd/ospfd.c
61
struct iface *iface_lookup(struct area *, struct iface *);
usr.sbin/ospfd/ospfd.c
643
struct iface *iface;
usr.sbin/ospfd/ospfd.c
673
LIST_FOREACH(iface, &area->iface_list, entry) {
usr.sbin/ospfd/ospfd.c
674
if (ospf_sendboth(IMSG_RECONF_IFACE, iface,
usr.sbin/ospfd/ospfd.c
675
sizeof(*iface)) == -1)
usr.sbin/ospfd/ospfd.c
677
if (iface->auth_type == AUTH_CRYPT)
usr.sbin/ospfd/ospfd.c
678
if (md_list_send(&iface->auth_md_list,
usr.sbin/ospfd/ospfd.c
707
struct iface *iface;
usr.sbin/ospfd/ospfd.c
745
LIST_FOREACH(iface, &a->iface_list, entry)
usr.sbin/ospfd/ospfd.c
746
if_fsm(iface, IF_EVT_DOWN);
usr.sbin/ospfd/ospfd.c
761
LIST_FOREACH(iface, &xa->iface_list, entry) {
usr.sbin/ospfd/ospfd.c
762
if_init(conf, iface);
usr.sbin/ospfd/ospfd.c
763
if (if_fsm(iface, IF_EVT_UP)) {
usr.sbin/ospfd/ospfd.c
766
iface->name);
usr.sbin/ospfd/ospfd.c
801
LIST_FOREACH(iface, &a->iface_list, entry) {
usr.sbin/ospfd/ospfd.c
802
if (iface->state == IF_STA_NEW) {
usr.sbin/ospfd/ospfd.c
803
iface->state = IF_STA_DOWN;
usr.sbin/ospfd/ospfd.c
804
if_init(conf, iface);
usr.sbin/ospfd/ospfd.c
805
if (if_fsm(iface, IF_EVT_UP)) {
usr.sbin/ospfd/ospfd.c
808
iface->name);
usr.sbin/ospfd/ospfd.c
838
struct iface *i, *xi, *ni;
usr.sbin/ospfd/ospfd.c
926
struct iface *
usr.sbin/ospfd/ospfd.c
927
iface_lookup(struct area *area, struct iface *iface)
usr.sbin/ospfd/ospfd.c
929
struct iface *i;
usr.sbin/ospfd/ospfd.c
932
if (i->ifindex == iface->ifindex &&
usr.sbin/ospfd/ospfd.c
933
i->addr.s_addr == iface->addr.s_addr &&
usr.sbin/ospfd/ospfd.c
934
i->mask.s_addr == iface->mask.s_addr)
usr.sbin/ospfd/ospfd.h
168
LIST_HEAD(, iface) iface_list;
usr.sbin/ospfd/ospfd.h
320
LIST_ENTRY(iface) entry;
usr.sbin/ospfd/ospfe.c
1001
rtr_link.metric = htons(iface->metric);
usr.sbin/ospfd/ospfe.c
1008
"interface %s", iface->name);
usr.sbin/ospfd/ospfe.c
1013
"interface %s", iface->name);
usr.sbin/ospfd/ospfe.c
1014
rtr_link.id = iface->addr.s_addr;
usr.sbin/ospfd/ospfe.c
1017
rtr_link.metric = htons(iface->metric);
usr.sbin/ospfd/ospfe.c
1022
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ospfd/ospfe.c
1023
if (nbr != iface->self &&
usr.sbin/ospfd/ospfe.c
1028
iface->name);
usr.sbin/ospfd/ospfe.c
1030
rtr_link.data = iface->addr.s_addr;
usr.sbin/ospfd/ospfe.c
1036
else if (iface->dependon[0] != '\0' &&
usr.sbin/ospfd/ospfe.c
1037
iface->depend_ok == 0)
usr.sbin/ospfd/ospfe.c
1041
htons(iface->metric);
usr.sbin/ospfd/ospfe.c
1059
else if (iface->dependon[0] != '\0' && iface->depend_ok == 0)
usr.sbin/ospfd/ospfe.c
1062
rtr_link.metric = htons(iface->metric);
usr.sbin/ospfd/ospfe.c
1124
orig_net_lsa(struct iface *iface)
usr.sbin/ospfd/ospfe.c
1142
if (ibuf_add(buf, &iface->mask, sizeof(iface->mask)))
usr.sbin/ospfd/ospfe.c
1146
LIST_FOREACH(nbr, &iface->nbr_list, entry)
usr.sbin/ospfd/ospfe.c
1160
if (iface->state & IF_STA_DR)
usr.sbin/ospfd/ospfe.c
1165
lsa_hdr.opts = area_ospf_options(iface->area);
usr.sbin/ospfd/ospfe.c
1167
lsa_hdr.ls_id = iface->addr.s_addr;
usr.sbin/ospfd/ospfe.c
1179
imsg_compose_event(iev_rde, IMSG_LS_UPD, iface->self->peerid, 0,
usr.sbin/ospfd/ospfe.c
1208
struct iface *iface;
usr.sbin/ospfd/ospfe.c
1212
LIST_FOREACH(iface, &area->iface_list, entry)
usr.sbin/ospfd/ospfe.c
1213
if (idx == 0 || idx == iface->ifindex) {
usr.sbin/ospfd/ospfe.c
1214
ictl = if_to_ctl(iface);
usr.sbin/ospfd/ospfe.c
1225
struct iface *iface;
usr.sbin/ospfd/ospfe.c
1230
LIST_FOREACH(iface, &area->iface_list, entry)
usr.sbin/ospfd/ospfe.c
1231
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ospfd/ospfe.c
1232
if (iface->self != nbr) {
usr.sbin/ospfd/ospfe.c
1263
ospfe_demote_iface(struct iface *iface, int active)
usr.sbin/ospfd/ospfe.c
1268
iface->demote_group[0] == '\0')
usr.sbin/ospfd/ospfe.c
1272
strlcpy(dmsg.demote_group, iface->demote_group,
usr.sbin/ospfd/ospfe.c
193
LIST_FOREACH(iface, &area->iface_list, entry) {
usr.sbin/ospfd/ospfe.c
194
if_init(xconf, iface);
usr.sbin/ospfd/ospfe.c
195
if (if_fsm(iface, IF_EVT_UP)) {
usr.sbin/ospfd/ospfe.c
197
iface->name);
usr.sbin/ospfd/ospfe.c
213
struct iface *iface;
usr.sbin/ospfd/ospfe.c
217
LIST_FOREACH(iface, &area->iface_list, entry) {
usr.sbin/ospfd/ospfe.c
218
if (if_fsm(iface, IF_EVT_DOWN)) {
usr.sbin/ospfd/ospfe.c
220
iface->name);
usr.sbin/ospfd/ospfe.c
266
static struct iface *niface;
usr.sbin/ospfd/ospfe.c
272
struct iface *iface = NULL;
usr.sbin/ospfd/ospfe.c
308
LIST_FOREACH(iface, &area->iface_list, entry) {
usr.sbin/ospfd/ospfe.c
309
if (kif->ifindex == iface->ifindex &&
usr.sbin/ospfd/ospfe.c
310
iface->type !=
usr.sbin/ospfd/ospfe.c
313
(iface->flags & IFF_UP) &&
usr.sbin/ospfd/ospfe.c
314
LINK_STATE_IS_UP(iface->linkstate);
usr.sbin/ospfd/ospfe.c
316
iface->flags = kif->flags;
usr.sbin/ospfd/ospfe.c
317
iface->linkstate =
usr.sbin/ospfd/ospfe.c
319
iface->mtu = kif->mtu;
usr.sbin/ospfd/ospfe.c
325
if_fsm(iface,
usr.sbin/ospfd/ospfe.c
328
" up", iface->name);
usr.sbin/ospfd/ospfe.c
330
if_fsm(iface,
usr.sbin/ospfd/ospfe.c
334
iface->name);
usr.sbin/ospfd/ospfe.c
338
iface->dependon) == 0) {
usr.sbin/ospfd/ospfe.c
343
iface->name);
usr.sbin/ospfd/ospfe.c
344
iface->depend_ok =
usr.sbin/ospfd/ospfe.c
347
if ((iface->flags &
usr.sbin/ospfd/ospfe.c
349
LINK_STATE_IS_UP(iface->linkstate))
usr.sbin/ospfd/ospfe.c
350
orig_rtr_lsa(iface->area);
usr.sbin/ospfd/ospfe.c
362
LIST_FOREACH(iface, &area->iface_list, entry) {
usr.sbin/ospfd/ospfe.c
363
if (ifc->ifindex == iface->ifindex &&
usr.sbin/ospfd/ospfe.c
365
iface->addr.s_addr) {
usr.sbin/ospfd/ospfe.c
366
iface->mask = ifc->mask;
usr.sbin/ospfd/ospfe.c
367
iface->dst = ifc->dst;
usr.sbin/ospfd/ospfe.c
374
if_fsm(iface, IF_EVT_DOWN);
usr.sbin/ospfd/ospfe.c
375
if_fsm(iface, IF_EVT_UP);
usr.sbin/ospfd/ospfe.c
377
"returned", iface->name,
usr.sbin/ospfd/ospfe.c
378
inet_ntoa(iface->addr));
usr.sbin/ospfd/ospfe.c
391
LIST_FOREACH(iface, &area->iface_list, entry) {
usr.sbin/ospfd/ospfe.c
392
if (ifc->ifindex == iface->ifindex &&
usr.sbin/ospfd/ospfe.c
394
iface->addr.s_addr) {
usr.sbin/ospfd/ospfe.c
395
if_fsm(iface, IF_EVT_DOWN);
usr.sbin/ospfd/ospfe.c
397
"gone", iface->name,
usr.sbin/ospfd/ospfe.c
398
inet_ntoa(iface->addr));
usr.sbin/ospfd/ospfe.c
426
if ((niface = malloc(sizeof(struct iface))) == NULL)
usr.sbin/ospfd/ospfe.c
428
memcpy(niface, imsg.data, sizeof(struct iface));
usr.sbin/ospfd/ospfe.c
48
struct iface *find_vlink(struct abr_rtr *);
usr.sbin/ospfd/ospfe.c
494
struct iface *iface;
usr.sbin/ospfd/ospfe.c
564
if (nbr->iface->self == nbr)
usr.sbin/ospfd/ospfe.c
615
LIST_FOREACH(iface, &area->iface_list,
usr.sbin/ospfd/ospfe.c
617
noack += lsa_flood(iface, nbr,
usr.sbin/ospfd/ospfe.c
625
noack += lsa_flood(nbr->iface, nbr,
usr.sbin/ospfd/ospfe.c
632
area = nbr->iface->area;
usr.sbin/ospfd/ospfe.c
633
LIST_FOREACH(iface, &area->iface_list, entry) {
usr.sbin/ospfd/ospfe.c
634
noack += lsa_flood(iface, nbr,
usr.sbin/ospfd/ospfe.c
652
if (!noack && nbr->iface != NULL &&
usr.sbin/ospfd/ospfe.c
653
nbr->iface->self != nbr) {
usr.sbin/ospfd/ospfe.c
654
if (!(nbr->iface->state & IF_STA_BACKUP) ||
usr.sbin/ospfd/ospfe.c
655
nbr->iface->dr == nbr) {
usr.sbin/ospfd/ospfe.c
659
ls_ack_list_add(nbr->iface, lhp);
usr.sbin/ospfd/ospfe.c
684
if (nbr->iface->self == nbr)
usr.sbin/ospfd/ospfe.c
713
if (nbr->iface->self == nbr)
usr.sbin/ospfd/ospfe.c
721
if (nbr->iface->state & IF_STA_DROTHER)
usr.sbin/ospfd/ospfe.c
722
if (ls_retrans_list_del(nbr->iface->self,
usr.sbin/ospfd/ospfe.c
729
send_direct_ack(nbr->iface, nbr->addr, imsg.data,
usr.sbin/ospfd/ospfe.c
738
if (nbr->iface->self == nbr)
usr.sbin/ospfd/ospfe.c
74
struct iface *iface;
usr.sbin/ospfd/ospfe.c
747
if ((iface = find_vlink(&ar)) != NULL &&
usr.sbin/ospfd/ospfe.c
748
iface->state == IF_STA_DOWN)
usr.sbin/ospfd/ospfe.c
749
if (if_fsm(iface, IF_EVT_UP)) {
usr.sbin/ospfd/ospfe.c
751
iface->name);
usr.sbin/ospfd/ospfe.c
757
if ((iface = find_vlink(&ar)) != NULL &&
usr.sbin/ospfd/ospfe.c
758
iface->state == IF_STA_POINTTOPOINT)
usr.sbin/ospfd/ospfe.c
759
if (if_fsm(iface, IF_EVT_DOWN)) {
usr.sbin/ospfd/ospfe.c
761
iface->name);
usr.sbin/ospfd/ospfe.c
796
struct iface *
usr.sbin/ospfd/ospfe.c
800
struct iface *iface = NULL;
usr.sbin/ospfd/ospfe.c
803
LIST_FOREACH(iface, &area->iface_list, entry)
usr.sbin/ospfd/ospfe.c
804
if (iface->abr_id.s_addr == ar->abr_id.s_addr &&
usr.sbin/ospfd/ospfe.c
805
iface->type == IF_TYPE_VIRTUALLINK &&
usr.sbin/ospfd/ospfe.c
806
iface->area->id.s_addr == ar->area.s_addr) {
usr.sbin/ospfd/ospfe.c
807
iface->dst.s_addr = ar->dst_ip.s_addr;
usr.sbin/ospfd/ospfe.c
808
iface->addr.s_addr = ar->addr.s_addr;
usr.sbin/ospfd/ospfe.c
809
iface->metric = ar->metric;
usr.sbin/ospfd/ospfe.c
811
return (iface);
usr.sbin/ospfd/ospfe.c
814
return (iface);
usr.sbin/ospfd/ospfe.c
837
struct iface *iface;
usr.sbin/ospfd/ospfe.c
859
LIST_FOREACH(iface, &area->iface_list, entry) {
usr.sbin/ospfd/ospfe.c
860
if (self == NULL && iface->self != NULL)
usr.sbin/ospfd/ospfe.c
861
self = iface->self;
usr.sbin/ospfd/ospfe.c
865
if (iface->state & IF_STA_LOOPBACK) {
usr.sbin/ospfd/ospfe.c
866
rtr_link.id = iface->addr.s_addr;
usr.sbin/ospfd/ospfe.c
869
rtr_link.metric = htons(iface->metric);
usr.sbin/ospfd/ospfe.c
876
switch (iface->type) {
usr.sbin/ospfd/ospfe.c
878
LIST_FOREACH(nbr, &iface->nbr_list, entry)
usr.sbin/ospfd/ospfe.c
879
if (nbr != iface->self &&
usr.sbin/ospfd/ospfe.c
884
"interface %s", iface->name);
usr.sbin/ospfd/ospfe.c
886
rtr_link.data = iface->addr.s_addr;
usr.sbin/ospfd/ospfe.c
892
else if (iface->dependon[0] != '\0' &&
usr.sbin/ospfd/ospfe.c
893
iface->depend_ok == 0)
usr.sbin/ospfd/ospfe.c
896
rtr_link.metric = htons(iface->metric);
usr.sbin/ospfd/ospfe.c
901
if ((iface->flags & IFF_UP) &&
usr.sbin/ospfd/ospfe.c
902
LINK_STATE_IS_UP(iface->linkstate)) {
usr.sbin/ospfd/ospfe.c
904
"interface %s", iface->name);
usr.sbin/ospfd/ospfe.c
910
rtr_link.id = iface->addr.s_addr &
usr.sbin/ospfd/ospfe.c
911
iface->mask.s_addr;
usr.sbin/ospfd/ospfe.c
912
rtr_link.data = iface->mask.s_addr;
usr.sbin/ospfd/ospfe.c
915
if (iface->dependon[0] != '\0' &&
usr.sbin/ospfd/ospfe.c
916
iface->depend_ok == 0)
usr.sbin/ospfd/ospfe.c
919
rtr_link.metric = htons(iface->metric);
usr.sbin/ospfd/ospfe.c
927
if ((iface->state & IF_STA_MULTI)) {
usr.sbin/ospfd/ospfe.c
928
if (iface->dr == iface->self) {
usr.sbin/ospfd/ospfe.c
929
LIST_FOREACH(nbr, &iface->nbr_list,
usr.sbin/ospfd/ospfe.c
931
if (nbr != iface->self &&
usr.sbin/ospfd/ospfe.c
935
nbr = iface->dr;
usr.sbin/ospfd/ospfe.c
939
"interface %s", iface->name);
usr.sbin/ospfd/ospfe.c
941
rtr_link.id = iface->dr->addr.s_addr;
usr.sbin/ospfd/ospfe.c
942
rtr_link.data = iface->addr.s_addr;
usr.sbin/ospfd/ospfe.c
955
if (!(iface->flags & IFF_UP) ||
usr.sbin/ospfd/ospfe.c
956
(!LINK_STATE_IS_UP(iface->linkstate) &&
usr.sbin/ospfd/ospfe.c
957
!(iface->if_type == IFT_CARP &&
usr.sbin/ospfd/ospfe.c
958
iface->linkstate == LINK_STATE_DOWN)))
usr.sbin/ospfd/ospfe.c
961
"interface %s", iface->name);
usr.sbin/ospfd/ospfe.c
964
iface->addr.s_addr & iface->mask.s_addr;
usr.sbin/ospfd/ospfe.c
965
rtr_link.data = iface->mask.s_addr;
usr.sbin/ospfd/ospfe.c
974
if (iface->if_type == IFT_CARP &&
usr.sbin/ospfd/ospfe.c
975
iface->linkstate == LINK_STATE_DOWN)
usr.sbin/ospfd/ospfe.c
977
else if (iface->dependon[0] != '\0' &&
usr.sbin/ospfd/ospfe.c
978
iface->depend_ok == 0)
usr.sbin/ospfd/ospfe.c
981
rtr_link.metric = htons(iface->metric);
usr.sbin/ospfd/ospfe.c
987
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ospfd/ospfe.c
988
if (nbr != iface->self &&
usr.sbin/ospfd/ospfe.c
994
rtr_link.data = iface->addr.s_addr;
usr.sbin/ospfd/ospfe.h
101
int auth_gen(struct ibuf *, struct iface *);
usr.sbin/ospfd/ospfe.h
117
int send_hello(struct iface *);
usr.sbin/ospfd/ospfe.h
118
void recv_hello(struct iface *, struct in_addr, u_int32_t,
usr.sbin/ospfd/ospfe.h
133
void orig_net_lsa(struct iface *);
usr.sbin/ospfd/ospfe.h
135
void ospfe_demote_iface(struct iface *, int);
usr.sbin/ospfd/ospfe.h
138
int if_fsm(struct iface *, enum iface_event);
usr.sbin/ospfd/ospfe.h
140
struct iface *if_new(struct kif *, struct kif_addr *);
usr.sbin/ospfd/ospfe.h
141
void if_del(struct iface *);
usr.sbin/ospfd/ospfe.h
142
void if_init(struct ospfd_conf *, struct iface *);
usr.sbin/ospfd/ospfe.h
144
int if_act_start(struct iface *);
usr.sbin/ospfd/ospfe.h
145
int if_act_elect(struct iface *);
usr.sbin/ospfd/ospfe.h
146
int if_act_reset(struct iface *);
usr.sbin/ospfd/ospfe.h
148
struct ctl_iface *if_to_ctl(struct iface *);
usr.sbin/ospfd/ospfe.h
150
int if_join_group(struct iface *, struct in_addr *);
usr.sbin/ospfd/ospfe.h
151
int if_leave_group(struct iface *, struct in_addr *);
usr.sbin/ospfd/ospfe.h
152
int if_set_mcast(struct iface *);
usr.sbin/ospfd/ospfe.h
159
int send_direct_ack(struct iface *, struct in_addr, void *, size_t);
usr.sbin/ospfd/ospfe.h
162
void ls_ack_list_add(struct iface *, struct lsa_hdr *);
usr.sbin/ospfd/ospfe.h
163
void ls_ack_list_free(struct iface *, struct lsa_entry *);
usr.sbin/ospfd/ospfe.h
164
void ls_ack_list_clr(struct iface *);
usr.sbin/ospfd/ospfe.h
165
int ls_ack_list_empty(struct iface *);
usr.sbin/ospfd/ospfe.h
167
void start_ls_ack_tx_timer(struct iface *);
usr.sbin/ospfd/ospfe.h
168
void stop_ls_ack_tx_timer(struct iface *);
usr.sbin/ospfd/ospfe.h
183
int lsa_flood(struct iface *, struct nbr *, struct lsa_hdr *,
usr.sbin/ospfd/ospfe.h
202
struct nbr *nbr_new(u_int32_t, struct iface *, int);
usr.sbin/ospfd/ospfe.h
205
struct nbr *nbr_find_id(struct iface *, u_int32_t);
usr.sbin/ospfd/ospfe.h
234
int gen_ospf_hdr(struct ibuf *, struct iface *, u_int8_t);
usr.sbin/ospfd/ospfe.h
235
int send_packet(struct iface *, struct ibuf *, struct sockaddr_in *);
usr.sbin/ospfd/ospfe.h
73
struct iface *iface;
usr.sbin/ospfd/ospfe.h
99
int auth_validate(void *buf, u_int16_t len, struct iface *,
usr.sbin/ospfd/packet.c
100
if (sendmsg(iface->fd, &msg, 0) == -1) {
usr.sbin/ospfd/packet.c
102
__func__, inet_ntoa(ip_hdr.ip_dst), iface->name);
usr.sbin/ospfd/packet.c
122
struct iface *iface;
usr.sbin/ospfd/packet.c
177
if ((iface = find_iface(xconf, ifindex, ip_hdr.ip_src)) == NULL) {
usr.sbin/ospfd/packet.c
191
if (ip_hdr.ip_dst.s_addr != iface->addr.s_addr) {
usr.sbin/ospfd/packet.c
194
inet_ntoa(ip_hdr.ip_dst), iface->name);
usr.sbin/ospfd/packet.c
207
if ((l = ospf_hdr_sanity_check(&ip_hdr, ospf_hdr, len, iface)) == -1)
usr.sbin/ospfd/packet.c
210
nbr = nbr_find_id(iface, ospf_hdr->rtr_id);
usr.sbin/ospfd/packet.c
216
if (auth_validate(buf, len, iface, nbr)) {
usr.sbin/ospfd/packet.c
219
"interface %s", iface->name);
usr.sbin/ospfd/packet.c
223
inet_ntoa(nbr->id), iface->name);
usr.sbin/ospfd/packet.c
234
if (iface->type == IF_TYPE_BROADCAST ||
usr.sbin/ospfd/packet.c
235
iface->type == IF_TYPE_POINTOPOINT)
usr.sbin/ospfd/packet.c
239
__func__, iface->name,
usr.sbin/ospfd/packet.c
244
recv_hello(iface, ip_hdr.ip_src, ospf_hdr->rtr_id, buf, len);
usr.sbin/ospfd/packet.c
260
iface->name);
usr.sbin/ospfd/packet.c
282
u_int16_t len, const struct iface *iface)
usr.sbin/ospfd/packet.c
299
if (iface->type != IF_TYPE_VIRTUALLINK) {
usr.sbin/ospfd/packet.c
300
if (ospf_hdr->area_id != iface->area->id.s_addr) {
usr.sbin/ospfd/packet.c
303
"interface %s", inet_ntoa(addr), iface->name);
usr.sbin/ospfd/packet.c
310
"interface %s", inet_ntoa(addr), iface->name);
usr.sbin/ospfd/packet.c
315
if (iface->type == IF_TYPE_BROADCAST || iface->type == IF_TYPE_NBMA) {
usr.sbin/ospfd/packet.c
318
(iface->state & IF_STA_DRORBDR) == 0) {
usr.sbin/ospfd/packet.c
321
if_state_name(iface->state), iface->name);
usr.sbin/ospfd/packet.c
329
struct iface *
usr.sbin/ospfd/packet.c
333
struct iface *iface = NULL;
usr.sbin/ospfd/packet.c
337
LIST_FOREACH(iface, &area->iface_list, entry) {
usr.sbin/ospfd/packet.c
338
switch (iface->type) {
usr.sbin/ospfd/packet.c
340
if ((src.s_addr == iface->dst.s_addr) &&
usr.sbin/ospfd/packet.c
341
!iface->passive)
usr.sbin/ospfd/packet.c
342
return (iface);
usr.sbin/ospfd/packet.c
345
if (ifindex == iface->ifindex &&
usr.sbin/ospfd/packet.c
346
!iface->passive)
usr.sbin/ospfd/packet.c
347
return (iface);
usr.sbin/ospfd/packet.c
350
if (ifindex == iface->ifindex &&
usr.sbin/ospfd/packet.c
351
(iface->addr.s_addr & iface->mask.s_addr) ==
usr.sbin/ospfd/packet.c
352
(src.s_addr & iface->mask.s_addr) &&
usr.sbin/ospfd/packet.c
353
!iface->passive)
usr.sbin/ospfd/packet.c
354
return (iface);
usr.sbin/ospfd/packet.c
40
struct ospf_hdr *, u_int16_t, const struct iface *);
usr.sbin/ospfd/packet.c
41
struct iface *find_iface(struct ospfd_conf *, unsigned int, struct in_addr);
usr.sbin/ospfd/packet.c
46
gen_ospf_hdr(struct ibuf *buf, struct iface *iface, u_int8_t type)
usr.sbin/ospfd/packet.c
54
if (iface->type != IF_TYPE_VIRTUALLINK)
usr.sbin/ospfd/packet.c
55
ospf_hdr.area_id = iface->area->id.s_addr;
usr.sbin/ospfd/packet.c
56
ospf_hdr.auth_type = htons(iface->auth_type);
usr.sbin/ospfd/packet.c
63
send_packet(struct iface *iface, struct ibuf *buf, struct sockaddr_in *dst)
usr.sbin/ospfd/packet.c
77
ip_hdr.ip_ttl = iface->type != IF_TYPE_VIRTUALLINK ?
usr.sbin/ospfd/packet.c
81
ip_hdr.ip_src = iface->addr;
usr.sbin/ospfd/packet.c
97
if (if_set_mcast(iface) == -1)
usr.sbin/ospfd/parse.y
115
struct iface *conf_get_if(struct kif *, struct kif_addr *);
usr.sbin/ospfd/parse.y
1368
struct iface *
usr.sbin/ospfd/parse.y
1372
struct iface *i;
usr.sbin/ospfd/parse.y
1393
struct iface *i;
usr.sbin/ospfd/parse.y
710
iface = conf_get_if(kif, ka);
usr.sbin/ospfd/parse.y
711
if (iface == NULL)
usr.sbin/ospfd/parse.y
713
iface->area = area;
usr.sbin/ospfd/parse.y
714
LIST_INSERT_HEAD(&area->iface_list, iface, entry);
usr.sbin/ospfd/parse.y
720
iface->dead_interval = defs->dead_interval;
usr.sbin/ospfd/parse.y
721
iface->fast_hello_interval = defs->fast_hello_interval;
usr.sbin/ospfd/parse.y
722
iface->transmit_delay = defs->transmit_delay;
usr.sbin/ospfd/parse.y
723
if (iface->dead_interval == FAST_RTR_DEAD_TIME)
usr.sbin/ospfd/parse.y
724
iface->hello_interval = 0;
usr.sbin/ospfd/parse.y
726
iface->hello_interval = defs->hello_interval;
usr.sbin/ospfd/parse.y
727
iface->rxmt_interval = defs->rxmt_interval;
usr.sbin/ospfd/parse.y
728
iface->metric = defs->metric;
usr.sbin/ospfd/parse.y
729
iface->priority = defs->priority;
usr.sbin/ospfd/parse.y
730
iface->auth_type = defs->auth_type;
usr.sbin/ospfd/parse.y
731
iface->auth_keyid = defs->auth_keyid;
usr.sbin/ospfd/parse.y
733
iface->type = IF_TYPE_POINTOPOINT;
usr.sbin/ospfd/parse.y
734
memcpy(iface->auth_key, defs->auth_key,
usr.sbin/ospfd/parse.y
735
sizeof(iface->auth_key));
usr.sbin/ospfd/parse.y
736
md_list_copy(&iface->auth_md_list, &defs->md_list);
usr.sbin/ospfd/parse.y
738
iface = NULL;
usr.sbin/ospfd/parse.y
753
interfaceoptsl : PASSIVE { iface->passive = 1; }
usr.sbin/ospfd/parse.y
755
if (strlcpy(iface->demote_group, $2,
usr.sbin/ospfd/parse.y
756
sizeof(iface->demote_group)) >=
usr.sbin/ospfd/parse.y
757
sizeof(iface->demote_group)) {
usr.sbin/ospfd/parse.y
764
if (carp_demote_init(iface->demote_group,
usr.sbin/ospfd/parse.y
767
iface->demote_group);
usr.sbin/ospfd/parse.y
776
strlcpy(iface->dependon, $1,
usr.sbin/ospfd/parse.y
777
sizeof(iface->dependon));
usr.sbin/ospfd/parse.y
780
iface->depend_ok = ifstate_is_up(kif);
usr.sbin/ospfd/parse.y
782
iface->dependon[0] = '\0';
usr.sbin/ospfd/parse.y
783
iface->depend_ok = 1;
usr.sbin/ospfd/parse.y
92
struct iface *iface = NULL;
usr.sbin/ospfd/printconf.c
123
print_iface(struct iface *iface)
usr.sbin/ospfd/printconf.c
127
printf("\tinterface %s:%s {\n", iface->name, inet_ntoa(iface->addr));
usr.sbin/ospfd/printconf.c
129
printf("\t\tmetric %d\n", iface->metric);
usr.sbin/ospfd/printconf.c
131
if (iface->demote_group[0] != '\0')
usr.sbin/ospfd/printconf.c
132
printf("\t\tdemote %s\n", iface->demote_group);
usr.sbin/ospfd/printconf.c
133
if (iface->dependon[0] != '\0')
usr.sbin/ospfd/printconf.c
134
printf("\t\tdepend on %s\n", iface->dependon);
usr.sbin/ospfd/printconf.c
135
if (iface->passive)
usr.sbin/ospfd/printconf.c
138
printf("\t\tretransmit-interval %d\n", iface->rxmt_interval);
usr.sbin/ospfd/printconf.c
139
if (iface->dead_interval == FAST_RTR_DEAD_TIME) {
usr.sbin/ospfd/printconf.c
142
iface->fast_hello_interval);
usr.sbin/ospfd/printconf.c
145
iface->dead_interval);
usr.sbin/ospfd/printconf.c
147
iface->hello_interval);
usr.sbin/ospfd/printconf.c
149
printf("\t\trouter-priority %d\n", iface->priority);
usr.sbin/ospfd/printconf.c
150
printf("\t\ttransmit-delay %d\n", iface->transmit_delay);
usr.sbin/ospfd/printconf.c
152
if (iface->type == IF_TYPE_POINTOPOINT)
usr.sbin/ospfd/printconf.c
155
printf("\t\tauth-type %s\n", if_auth_name(iface->auth_type));
usr.sbin/ospfd/printconf.c
156
switch (iface->auth_type) {
usr.sbin/ospfd/printconf.c
163
printf("\t\tauth-md-keyid %d\n", iface->auth_keyid);
usr.sbin/ospfd/printconf.c
164
TAILQ_FOREACH(md, &iface->auth_md_list, entry)
usr.sbin/ospfd/printconf.c
180
struct iface *iface;
usr.sbin/ospfd/printconf.c
200
LIST_FOREACH(iface, &area->iface_list, entry) {
usr.sbin/ospfd/printconf.c
201
print_iface(iface);
usr.sbin/ospfd/printconf.c
35
void print_iface(struct iface *);
usr.sbin/ospfd/rde.c
1007
rde_nbr_iface_del(struct iface *iface)
usr.sbin/ospfd/rde.c
1016
if (nbr->iface == iface)
usr.sbin/ospfd/rde.c
1176
struct iface *
usr.sbin/ospfd/rde.c
1180
struct iface *iface;
usr.sbin/ospfd/rde.c
1183
LIST_FOREACH(iface, &area->iface_list, entry) {
usr.sbin/ospfd/rde.c
1184
if ((iface->addr.s_addr & iface->mask.s_addr) ==
usr.sbin/ospfd/rde.c
1185
(prefix & iface->mask.s_addr) && (plen == -1 ||
usr.sbin/ospfd/rde.c
1186
iface->mask.s_addr == prefixlen2mask(plen)))
usr.sbin/ospfd/rde.c
1187
return (iface);
usr.sbin/ospfd/rde.c
1328
struct iface *iface;
usr.sbin/ospfd/rde.c
1361
iface = rde_asext_lookup(kr->nexthop.s_addr, -1);
usr.sbin/ospfd/rde.c
1364
else if (iface && (iface->type == IF_TYPE_BROADCAST ||
usr.sbin/ospfd/rde.c
1365
iface->type == IF_TYPE_NBMA))
usr.sbin/ospfd/rde.c
188
LIST_FOREACH(iface, &area->iface_list, entry)
usr.sbin/ospfd/rde.c
189
md_list_clr(&iface->auth_md_list);
usr.sbin/ospfd/rde.c
379
v = lsa_find(nbr->iface, lsa_hdr.type,
usr.sbin/ospfd/rde.c
420
if ((v = lsa_find(nbr->iface,
usr.sbin/ospfd/rde.c
455
v = lsa_find(nbr->iface, lsa->hdr.type, lsa->hdr.ls_id,
usr.sbin/ospfd/rde.c
551
v = lsa_find(nbr->iface, lsa_hdr.type, lsa_hdr.ls_id,
usr.sbin/ospfd/rde.c
60
struct iface *rde_asext_lookup(u_int32_t, int);
usr.sbin/ospfd/rde.c
644
struct iface *niface;
usr.sbin/ospfd/rde.c
724
if ((niface = malloc(sizeof(struct iface))) == NULL)
usr.sbin/ospfd/rde.c
726
memcpy(niface, imsg.data, sizeof(struct iface));
usr.sbin/ospfd/rde.c
760
struct iface *iface;
usr.sbin/ospfd/rde.c
767
LIST_FOREACH(iface, &area->iface_list, entry) {
usr.sbin/ospfd/rde.c
769
0, pid, -1, iface, sizeof(*iface));
usr.sbin/ospfd/rde.c
770
lsa_dump(&iface->lsa_tree, imsg_type, pid);
usr.sbin/ospfd/rde.c
882
struct iface *iface;
usr.sbin/ospfd/rde.c
892
LIST_FOREACH(iface, &area->iface_list, entry)
usr.sbin/ospfd/rde.c
975
struct iface *iface;
usr.sbin/ospfd/rde.c
98
struct iface *iface;
usr.sbin/ospfd/rde.c
982
LIST_FOREACH(iface, &area->iface_list, entry) {
usr.sbin/ospfd/rde.c
983
if (iface->ifindex == new->ifindex)
usr.sbin/ospfd/rde.c
986
if (iface == NULL)
usr.sbin/ospfd/rde.c
995
nbr->iface = iface;
usr.sbin/ospfd/rde.h
122
void rde_nbr_iface_del(struct iface *);
usr.sbin/ospfd/rde.h
142
struct vertex *lsa_find(struct iface *, u_int8_t, u_int32_t, u_int32_t);
usr.sbin/ospfd/rde.h
72
struct iface *iface;
usr.sbin/ospfd/rde_lsdb.c
271
if (lsa->hdr.age == htons(MAX_AGE) && !nbr->self && lsa_find(nbr->iface,
usr.sbin/ospfd/rde_lsdb.c
333
struct iface *iface;
usr.sbin/ospfd/rde_lsdb.c
343
LIST_FOREACH(iface, &nbr->area->iface_list, entry)
usr.sbin/ospfd/rde_lsdb.c
344
if (iface->addr.s_addr == new->hdr.ls_id)
usr.sbin/ospfd/rde_lsdb.c
392
tree = &nbr->iface->lsa_tree;
usr.sbin/ospfd/rde_lsdb.c
446
v = lsa_find(nbr->iface, lsa->type, lsa->ls_id, lsa->adv_rtr);
usr.sbin/ospfd/rde_lsdb.c
488
lsa_find(struct iface *iface, u_int8_t type, u_int32_t ls_id, u_int32_t adv_rtr)
usr.sbin/ospfd/rde_lsdb.c
496
tree = &iface->lsa_tree;
usr.sbin/ospfd/rde_lsdb.c
498
tree = &iface->area->lsa_tree;
usr.sbin/ospfd/rde_lsdb.c
598
tree = &nbr->iface->lsa_tree;
usr.sbin/ospfd/rde_spf.c
375
struct iface *iface;
usr.sbin/ospfd/rde_spf.c
385
LIST_FOREACH(iface, &area->iface_list, entry) {
usr.sbin/ospfd/rde_spf.c
386
if (rtr_link->data != iface->addr.s_addr)
usr.sbin/ospfd/rde_spf.c
389
if (nbr->ifindex == iface->ifindex) {
usr.sbin/pppd/cbcp.c
100
cbcp_state *us = &cbcp[iface];
usr.sbin/pppd/cbcp.c
166
void cbcp_protrej(int iface)
usr.sbin/pppd/cbcp.c
86
cbcp_init(int iface)
usr.sbin/pppd/cbcp.c
90
us = &cbcp[iface];
usr.sbin/pppd/cbcp.c
92
us->us_unit = iface;
usr.sbin/pppd/cbcp.c
98
cbcp_lowerup(int iface)
usr.sbin/rad/parse.y
1129
struct ra_iface_conf *iface;
usr.sbin/rad/parse.y
1132
SIMPLEQ_FOREACH(iface, &conf->ra_iface_list, entry) {
usr.sbin/rad/parse.y
1133
if (strcmp(name, iface->name) == 0)
usr.sbin/rad/parse.y
1134
return (iface);
usr.sbin/rad/parse.y
1137
iface = calloc(1, sizeof(*iface));
usr.sbin/rad/parse.y
1138
if (iface == NULL)
usr.sbin/rad/parse.y
1140
n = strlcpy(iface->name, name, sizeof(iface->name));
usr.sbin/rad/parse.y
1141
if (n >= sizeof(iface->name))
usr.sbin/rad/parse.y
1145
iface->ra_options = conf->ra_options;
usr.sbin/rad/parse.y
1147
SIMPLEQ_INIT(&iface->ra_prefix_list);
usr.sbin/rad/parse.y
1148
SIMPLEQ_INIT(&iface->ra_options.ra_rdnss_list);
usr.sbin/rad/parse.y
1149
iface->ra_options.rdnss_count = 0;
usr.sbin/rad/parse.y
1150
SIMPLEQ_INIT(&iface->ra_options.ra_dnssl_list);
usr.sbin/rad/parse.y
1151
iface->ra_options.dnssl_len = 0;
usr.sbin/rad/parse.y
1152
SIMPLEQ_INIT(&iface->ra_options.ra_pref64_list);
usr.sbin/rad/parse.y
1154
SIMPLEQ_INSERT_TAIL(&conf->ra_iface_list, iface, entry);
usr.sbin/rad/parse.y
1156
return (iface);
usr.sbin/rad/parse.y
1162
struct ra_iface_conf *iface;
usr.sbin/rad/parse.y
1166
while((iface = SIMPLEQ_FIRST(&xconf->ra_iface_list)) != NULL) {
usr.sbin/rad/parse.y
1168
free_ra_iface_conf(iface);
usr.sbin/rad/parse.y
905
struct ra_iface_conf *iface;
usr.sbin/rad/parse.y
941
SIMPLEQ_FOREACH(iface, &conf->ra_iface_list, entry)
usr.sbin/rad/parse.y
943
&iface->ra_options);
usr.sbin/rad/parse.y
947
SIMPLEQ_FOREACH(iface, &conf->ra_iface_list, entry)
usr.sbin/rad/parse.y
949
&iface->ra_options);
usr.sbin/rad/printconf.c
132
struct ra_iface_conf *iface;
usr.sbin/rad/printconf.c
139
SIMPLEQ_FOREACH(iface, &conf->ra_iface_list, entry) {
usr.sbin/rad/printconf.c
140
printf("interface %s {\n", iface->name);
usr.sbin/rad/printconf.c
142
print_ra_options("\t", &iface->ra_options);
usr.sbin/rad/printconf.c
144
if (iface->autoprefix) {
usr.sbin/rad/printconf.c
146
print_prefix_options("\t\t", iface->autoprefix);
usr.sbin/rad/printconf.c
151
SIMPLEQ_FOREACH(prefix, &iface->ra_prefix_list, entry) {
usr.sbin/ripctl/ripctl.c
312
struct ctl_iface *iface;
usr.sbin/ripctl/ripctl.c
317
iface = imsg->data;
usr.sbin/ripctl/ripctl.c
319
if (asprintf(&netid, "%s/%d", inet_ntoa(iface->addr),
usr.sbin/ripctl/ripctl.c
320
mask2prefixlen(iface->mask.s_addr)) == -1)
usr.sbin/ripctl/ripctl.c
323
iface->name, netid, if_state_name(iface->state),
usr.sbin/ripctl/ripctl.c
324
get_linkstate(iface->if_type, iface->linkstate),
usr.sbin/ripctl/ripctl.c
325
iface->uptime == 0 ? "00:00:00" :
usr.sbin/ripctl/ripctl.c
326
fmt_timeframe_core(iface->uptime));
usr.sbin/ripd/auth.c
100
(u_int16_t)iface->auth_type) {
usr.sbin/ripd/auth.c
106
switch (iface->auth_type) {
usr.sbin/ripd/auth.c
109
if (bcmp(pwd, iface->auth_key, MAX_SIMPLE_AUTH_LEN)) {
usr.sbin/ripd/auth.c
111
"interface: %s", iface->name);
usr.sbin/ripd/auth.c
118
if ((md = md_list_find(&iface->auth_md_list,
usr.sbin/ripd/auth.c
122
iface->name);
usr.sbin/ripd/auth.c
129
"interface %s", iface->name);
usr.sbin/ripd/auth.c
136
"interface %s", iface->name);
usr.sbin/ripd/auth.c
144
"interface %s", iface->name);
usr.sbin/ripd/auth.c
152
iface->name);
usr.sbin/ripd/auth.c
174
"interface %s", iface->name);
usr.sbin/ripd/auth.c
185
iface->name);
usr.sbin/ripd/auth.c
196
auth_gen(struct ibuf *buf, struct iface *iface)
usr.sbin/ripd/auth.c
203
auth_head.auth_type = htons(iface->auth_type);
usr.sbin/ripd/auth.c
207
switch (iface->auth_type) {
usr.sbin/ripd/auth.c
209
ibuf_add(buf, &iface->auth_key, MAX_SIMPLE_AUTH_LEN);
usr.sbin/ripd/auth.c
212
if ((md = md_list_find(&iface->auth_md_list,
usr.sbin/ripd/auth.c
213
iface->auth_keyid)) == NULL) {
usr.sbin/ripd/auth.c
215
"interface %s", iface->auth_keyid, iface->name);
usr.sbin/ripd/auth.c
219
a.auth_keyid = iface->auth_keyid;
usr.sbin/ripd/auth.c
227
iface->name);
usr.sbin/ripd/auth.c
235
auth_add_trailer(struct ibuf *buf, struct iface *iface)
usr.sbin/ripd/auth.c
250
if ((md = md_list_find(&iface->auth_md_list,
usr.sbin/ripd/auth.c
251
iface->auth_keyid)) == NULL) {
usr.sbin/ripd/auth.c
253
"interface %s", iface->auth_keyid, iface->name);
usr.sbin/ripd/auth.c
73
auth_validate(u_int8_t **buf, u_int16_t *len, struct iface *iface,
usr.sbin/ripd/auth.c
92
if (iface->auth_type != AUTH_NONE) {
usr.sbin/ripd/interface.c
103
old_state = iface->state;
usr.sbin/ripd/interface.c
115
"event '%s' not expected in state '%s'", iface->name,
usr.sbin/ripd/interface.c
122
ret = if_act_start(iface);
usr.sbin/ripd/interface.c
125
ret = if_act_reset(iface);
usr.sbin/ripd/interface.c
134
"event '%s', state '%s'", iface->name, if_event_name(event),
usr.sbin/ripd/interface.c
140
iface->state = new_state;
usr.sbin/ripd/interface.c
142
if (old_state == IF_STA_ACTIVE && iface->state == IF_STA_DOWN)
usr.sbin/ripd/interface.c
143
ripe_demote_iface(iface, 0);
usr.sbin/ripd/interface.c
144
if (old_state & IF_STA_DOWN && iface->state == IF_STA_ACTIVE)
usr.sbin/ripd/interface.c
145
ripe_demote_iface(iface, 1);
usr.sbin/ripd/interface.c
150
iface->name, if_state_name(old_state), if_state_name(iface->state));
usr.sbin/ripd/interface.c
155
struct iface *
usr.sbin/ripd/interface.c
158
struct iface *iface;
usr.sbin/ripd/interface.c
160
LIST_FOREACH(iface, &conf->iface_list, entry) {
usr.sbin/ripd/interface.c
161
if (iface->ifindex == ifindex)
usr.sbin/ripd/interface.c
162
return (iface);
usr.sbin/ripd/interface.c
171
if_act_start(struct iface *iface)
usr.sbin/ripd/interface.c
176
if (iface->passive) {
usr.sbin/ripd/interface.c
178
iface->name);
usr.sbin/ripd/interface.c
182
if (!((iface->flags & IFF_UP) &&
usr.sbin/ripd/interface.c
183
LINK_STATE_IS_UP(iface->linkstate))) {
usr.sbin/ripd/interface.c
185
iface->name);
usr.sbin/ripd/interface.c
190
iface->uptime = now.tv_sec;
usr.sbin/ripd/interface.c
192
switch (iface->type) {
usr.sbin/ripd/interface.c
196
if (if_join_group(iface, &addr)) {
usr.sbin/ripd/interface.c
198
"interface %s", inet_ntoa(addr), iface->name);
usr.sbin/ripd/interface.c
202
iface->state = IF_STA_ACTIVE;
usr.sbin/ripd/interface.c
212
if_act_reset(struct iface *iface)
usr.sbin/ripd/interface.c
217
if (iface->passive)
usr.sbin/ripd/interface.c
220
switch (iface->type) {
usr.sbin/ripd/interface.c
224
if (if_leave_group(iface, &addr)) {
usr.sbin/ripd/interface.c
226
"interface %s", inet_ntoa(addr), iface->name);
usr.sbin/ripd/interface.c
233
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ripd/interface.c
296
if_set_mcast(struct iface *iface)
usr.sbin/ripd/interface.c
298
switch (iface->type) {
usr.sbin/ripd/interface.c
301
if (setsockopt(iface->fd, IPPROTO_IP, IP_MULTICAST_IF,
usr.sbin/ripd/interface.c
302
&iface->addr.s_addr, sizeof(iface->addr.s_addr)) == -1) {
usr.sbin/ripd/interface.c
304
"IP_MULTICAST_IF, interface %s", iface->name);
usr.sbin/ripd/interface.c
341
if_join_group(struct iface *iface, struct in_addr *addr)
usr.sbin/ripd/interface.c
345
switch (iface->type) {
usr.sbin/ripd/interface.c
349
mreq.imr_interface.s_addr = iface->addr.s_addr;
usr.sbin/ripd/interface.c
351
if (setsockopt(iface->fd, IPPROTO_IP, IP_ADD_MEMBERSHIP,
usr.sbin/ripd/interface.c
363
if_leave_group(struct iface *iface, struct in_addr *addr)
usr.sbin/ripd/interface.c
367
switch (iface->type) {
usr.sbin/ripd/interface.c
371
mreq.imr_interface.s_addr = iface->addr.s_addr;
usr.sbin/ripd/interface.c
373
if (setsockopt(iface->fd, IPPROTO_IP, IP_DROP_MEMBERSHIP,
usr.sbin/ripd/interface.c
384
struct iface *
usr.sbin/ripd/interface.c
388
struct iface *iface;
usr.sbin/ripd/interface.c
392
if ((iface = calloc(1, sizeof(*iface))) == NULL)
usr.sbin/ripd/interface.c
395
iface->state = IF_STA_DOWN;
usr.sbin/ripd/interface.c
397
LIST_INIT(&iface->nbr_list);
usr.sbin/ripd/interface.c
398
TAILQ_INIT(&iface->rp_list);
usr.sbin/ripd/interface.c
399
TAILQ_INIT(&iface->rq_list);
usr.sbin/ripd/interface.c
401
strlcpy(iface->name, kif->ifname, sizeof(iface->name));
usr.sbin/ripd/interface.c
414
iface->type = IF_TYPE_POINTOPOINT;
usr.sbin/ripd/interface.c
417
iface->type = IF_TYPE_BROADCAST;
usr.sbin/ripd/interface.c
419
iface->type = IF_TYPE_POINTOPOINT;
usr.sbin/ripd/interface.c
424
iface->mtu = kif->mtu;
usr.sbin/ripd/interface.c
425
iface->ifindex = kif->ifindex;
usr.sbin/ripd/interface.c
426
iface->flags = kif->flags;
usr.sbin/ripd/interface.c
427
iface->linkstate = kif->link_state;
usr.sbin/ripd/interface.c
428
iface->if_type = kif->if_type;
usr.sbin/ripd/interface.c
429
iface->baudrate = kif->baudrate;
usr.sbin/ripd/interface.c
435
iface->addr = sain->sin_addr;
usr.sbin/ripd/interface.c
441
iface->mask = sain->sin_addr;
usr.sbin/ripd/interface.c
448
iface->dst = sain->sin_addr;
usr.sbin/ripd/interface.c
45
int if_act_start(struct iface *);
usr.sbin/ripd/interface.c
454
return (iface);
usr.sbin/ripd/interface.c
458
if_del(struct iface *iface)
usr.sbin/ripd/interface.c
46
int if_act_reset(struct iface *);
usr.sbin/ripd/interface.c
462
log_debug("if_del: interface %s", iface->name);
usr.sbin/ripd/interface.c
465
while ((nbr = LIST_FIRST(&iface->nbr_list)) != NULL)
usr.sbin/ripd/interface.c
470
free(iface);
usr.sbin/ripd/interface.c
474
if_to_ctl(struct iface *iface)
usr.sbin/ripd/interface.c
479
memcpy(ictl.name, iface->name, sizeof(ictl.name));
usr.sbin/ripd/interface.c
480
memcpy(&ictl.addr, &iface->addr, sizeof(ictl.addr));
usr.sbin/ripd/interface.c
481
memcpy(&ictl.mask, &iface->mask, sizeof(ictl.mask));
usr.sbin/ripd/interface.c
483
ictl.ifindex = iface->ifindex;
usr.sbin/ripd/interface.c
484
ictl.state = iface->state;
usr.sbin/ripd/interface.c
485
ictl.mtu = iface->mtu;
usr.sbin/ripd/interface.c
487
ictl.baudrate = iface->baudrate;
usr.sbin/ripd/interface.c
488
ictl.flags = iface->flags;
usr.sbin/ripd/interface.c
489
ictl.metric = iface->cost;
usr.sbin/ripd/interface.c
490
ictl.type = iface->type;
usr.sbin/ripd/interface.c
491
ictl.linkstate = iface->linkstate;
usr.sbin/ripd/interface.c
492
ictl.passive = iface->passive;
usr.sbin/ripd/interface.c
493
ictl.if_type = iface->if_type;
usr.sbin/ripd/interface.c
497
if (iface->state != IF_STA_DOWN) {
usr.sbin/ripd/interface.c
498
ictl.uptime = now.tv_sec - iface->uptime;
usr.sbin/ripd/interface.c
73
if_init(struct ripd_conf *xconf, struct iface *iface)
usr.sbin/ripd/interface.c
79
iface->fd = xconf->rip_socket;
usr.sbin/ripd/interface.c
81
strlcpy(ifr.ifr_name, iface->name, sizeof(ifr.ifr_name));
usr.sbin/ripd/interface.c
82
if (ioctl(iface->fd, SIOCGIFRDOMAIN, (caddr_t)&ifr) == -1)
usr.sbin/ripd/interface.c
86
if (setsockopt(iface->fd, SOL_SOCKET, SO_RTABLE, &rdomain,
usr.sbin/ripd/interface.c
93
ripe_demote_iface(iface, 0);
usr.sbin/ripd/interface.c
97
if_fsm(struct iface *iface, enum iface_event event)
usr.sbin/ripd/kroute.c
1032
struct iface *iface = NULL;
usr.sbin/ripd/kroute.c
1167
iface = if_find_index(rtm->rtm_index);
usr.sbin/ripd/kroute.c
1168
if (iface != NULL)
usr.sbin/ripd/kroute.c
1169
metric = iface->cost;
usr.sbin/ripd/kroute.c
817
struct iface *iface = NULL;
usr.sbin/ripd/kroute.c
902
iface = if_find_index(rtm->rtm_index);
usr.sbin/ripd/kroute.c
903
if (iface != NULL)
usr.sbin/ripd/kroute.c
904
kr->r.metric = iface->cost;
usr.sbin/ripd/message.c
100
send_triggered_update(struct iface *iface, struct rip_route *rr)
usr.sbin/ripd/message.c
107
if (iface->passive)
usr.sbin/ripd/message.c
116
if ((buf = ibuf_open(iface->mtu - sizeof(struct ip) -
usr.sbin/ripd/message.c
137
send_packet(iface, ibuf_data(buf), ibuf_size(buf), &dst);
usr.sbin/ripd/message.c
144
send_request(struct packet_head *r_list, struct iface *i, struct nbr *nbr)
usr.sbin/ripd/message.c
147
struct iface *iface;
usr.sbin/ripd/message.c
158
iface = nbr->iface;
usr.sbin/ripd/message.c
163
iface = i;
usr.sbin/ripd/message.c
168
if (iface->passive) {
usr.sbin/ripd/message.c
178
if ((buf = ibuf_open(iface->mtu - sizeof(struct ip) -
usr.sbin/ripd/message.c
213
send_packet(iface, ibuf_data(buf), ibuf_size(buf), &dst);
usr.sbin/ripd/message.c
221
send_response(struct packet_head *r_list, struct iface *i, struct nbr *nbr)
usr.sbin/ripd/message.c
224
struct iface *iface;
usr.sbin/ripd/message.c
234
iface = nbr->iface;
usr.sbin/ripd/message.c
239
iface = i;
usr.sbin/ripd/message.c
244
if (iface->passive) {
usr.sbin/ripd/message.c
254
if ((buf = ibuf_open(iface->mtu - sizeof(struct ip) -
usr.sbin/ripd/message.c
264
if (iface->auth_type != AUTH_NONE) {
usr.sbin/ripd/message.c
265
if (auth_gen(buf, iface) == -1) {
usr.sbin/ripd/message.c
279
if (entry->rr->ifindex == iface->ifindex) {
usr.sbin/ripd/message.c
288
if ((nexthop & iface->mask.s_addr) !=
usr.sbin/ripd/message.c
289
(iface->addr.s_addr & iface->mask.s_addr))
usr.sbin/ripd/message.c
305
if (iface->auth_type == AUTH_CRYPT)
usr.sbin/ripd/message.c
306
auth_add_trailer(buf, iface);
usr.sbin/ripd/message.c
308
send_packet(iface, ibuf_data(buf), ibuf_size(buf), &dst);
usr.sbin/ripd/message.c
316
recv_request(struct iface *i, struct nbr *nbr, u_int8_t *buf, u_int16_t len)
usr.sbin/ripd/message.c
378
recv_response(struct iface *i, struct nbr *nbr, u_int8_t *buf, u_int16_t len)
usr.sbin/ripd/neighbor.c
171
nbr_new(u_int32_t nbr_id, struct iface *iface)
usr.sbin/ripd/neighbor.c
190
nbr->iface = iface;
usr.sbin/ripd/neighbor.c
191
LIST_INSERT_HEAD(&iface->nbr_list, nbr, entry);
usr.sbin/ripd/neighbor.c
225
if (nbr->iface->auth_type == AUTH_CRYPT &&
usr.sbin/ripd/neighbor.c
257
nbr_find_ip(struct iface *iface, u_int32_t src_ip)
usr.sbin/ripd/neighbor.c
261
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ripd/neighbor.c
275
struct iface *iface;
usr.sbin/ripd/neighbor.c
283
iface = nbr->iface;
usr.sbin/ripd/neighbor.c
294
LIST_INSERT_HEAD(&iface->failed_nbr_list, nbr_failed, entry);
usr.sbin/ripd/neighbor.c
298
nbr_failed_find(struct iface *iface, u_int32_t src_ip)
usr.sbin/ripd/neighbor.c
302
LIST_FOREACH(nbr_failed, &iface->failed_nbr_list, entry) {
usr.sbin/ripd/neighbor.c
384
memcpy(nctl.name, nbr->iface->name, sizeof(nctl.name));
usr.sbin/ripd/neighbor.c
389
nctl.iface_state = nbr->iface->state;
usr.sbin/ripd/packet.c
142
LIST_FOREACH(iface, &xconf->iface_list, entry) {
usr.sbin/ripd/packet.c
143
if (iface->addr.s_addr == src.sin_addr.s_addr)
usr.sbin/ripd/packet.c
148
if ((iface = find_iface(xconf, dst->sdl_index, src.sin_addr)) == NULL) {
usr.sbin/ripd/packet.c
165
nbr = nbr_find_ip(iface, src.sin_addr.s_addr);
usr.sbin/ripd/packet.c
167
if (nbr == NULL && iface->auth_type == AUTH_CRYPT)
usr.sbin/ripd/packet.c
168
nbr_failed = nbr_failed_find(iface, src.sin_addr.s_addr);
usr.sbin/ripd/packet.c
180
nbr = nbr_new(src.sin_addr.s_addr, iface);
usr.sbin/ripd/packet.c
189
recv_request(iface, nbr, buf, len);
usr.sbin/ripd/packet.c
195
if (auth_validate(&buf, &len, iface, nbr, nbr_failed,
usr.sbin/ripd/packet.c
198
"interface %s", iface->name);
usr.sbin/ripd/packet.c
203
nbr = nbr_new(src.sin_addr.s_addr, iface);
usr.sbin/ripd/packet.c
211
recv_response(iface, nbr, buf, len);
usr.sbin/ripd/packet.c
215
iface->name);
usr.sbin/ripd/packet.c
231
struct iface *
usr.sbin/ripd/packet.c
234
struct iface *iface = NULL;
usr.sbin/ripd/packet.c
237
LIST_FOREACH(iface, &xconf->iface_list, entry) {
usr.sbin/ripd/packet.c
238
if (ifindex == 0 || ifindex != iface->ifindex)
usr.sbin/ripd/packet.c
241
if (iface->passive)
usr.sbin/ripd/packet.c
244
if ((iface->addr.s_addr & iface->mask.s_addr) ==
usr.sbin/ripd/packet.c
245
(src.s_addr & iface->mask.s_addr))
usr.sbin/ripd/packet.c
246
return (iface);
usr.sbin/ripd/packet.c
248
if (iface->dst.s_addr && iface->dst.s_addr == src.s_addr)
usr.sbin/ripd/packet.c
249
return (iface);
usr.sbin/ripd/packet.c
42
struct iface *find_iface(struct ripd_conf *, unsigned int, struct in_addr);
usr.sbin/ripd/packet.c
60
send_packet(struct iface *iface, void *pkt, size_t len, struct sockaddr_in *dst)
usr.sbin/ripd/packet.c
64
if (if_set_mcast(iface) == -1) {
usr.sbin/ripd/packet.c
66
"interface, %s", iface->name);
usr.sbin/ripd/packet.c
70
if (sendto(iface->fd, pkt, len, 0,
usr.sbin/ripd/packet.c
73
iface->name);
usr.sbin/ripd/packet.c
94
struct iface *iface;
usr.sbin/ripd/parse.y
346
iface = conf_get_if(kif);
usr.sbin/ripd/parse.y
347
if (iface == NULL)
usr.sbin/ripd/parse.y
349
LIST_INSERT_HEAD(&conf->iface_list, iface, entry);
usr.sbin/ripd/parse.y
354
iface->cost = defs->cost;
usr.sbin/ripd/parse.y
355
iface->auth_type = defs->auth_type;
usr.sbin/ripd/parse.y
356
iface->auth_keyid = defs->auth_keyid;
usr.sbin/ripd/parse.y
357
memcpy(iface->auth_key, defs->auth_key,
usr.sbin/ripd/parse.y
358
sizeof(iface->auth_key));
usr.sbin/ripd/parse.y
359
md_list_copy(&iface->auth_md_list, &defs->md_list);
usr.sbin/ripd/parse.y
374
interfaceoptsl : PASSIVE { iface->passive = 1; }
usr.sbin/ripd/parse.y
376
if (strlcpy(iface->demote_group, $2,
usr.sbin/ripd/parse.y
377
sizeof(iface->demote_group)) >=
usr.sbin/ripd/parse.y
378
sizeof(iface->demote_group)) {
usr.sbin/ripd/parse.y
385
if (carp_demote_init(iface->demote_group,
usr.sbin/ripd/parse.y
388
iface->demote_group);
usr.sbin/ripd/parse.y
87
struct iface *iface = NULL;
usr.sbin/ripd/parse.y
891
struct iface *
usr.sbin/ripd/parse.y
894
struct iface *i;
usr.sbin/ripd/parse.y
91
struct iface *conf_get_if(struct kif *);
usr.sbin/ripd/parse.y
913
struct iface *i;
usr.sbin/ripd/printconf.c
100
print_iface(struct iface *iface)
usr.sbin/ripd/printconf.c
104
printf("interface %s {\n", iface->name);
usr.sbin/ripd/printconf.c
106
if (iface->passive)
usr.sbin/ripd/printconf.c
109
printf("\tcost %d\n", iface->cost);
usr.sbin/ripd/printconf.c
111
printf("\tauth-type %s\n", if_auth_name(iface->auth_type));
usr.sbin/ripd/printconf.c
112
switch (iface->auth_type) {
usr.sbin/ripd/printconf.c
119
printf("\tauth-md-keyid %d\n", iface->auth_keyid);
usr.sbin/ripd/printconf.c
120
TAILQ_FOREACH(m, &iface->auth_md_list, entry)
usr.sbin/ripd/printconf.c
134
struct iface *iface;
usr.sbin/ripd/printconf.c
139
LIST_FOREACH(iface, &conf->iface_list, entry) {
usr.sbin/ripd/printconf.c
140
print_iface(iface);
usr.sbin/ripd/printconf.c
34
void print_iface(struct iface *);
usr.sbin/ripd/rde.c
403
struct iface *iface;
usr.sbin/ripd/rde.c
411
if ((iface = if_find_index(e->ifindex)) == NULL)
usr.sbin/ripd/rde.c
414
metric = MINIMUM(INFINITY, e->metric + iface->cost);
usr.sbin/ripd/ripd.c
270
struct iface *i;
usr.sbin/ripd/ripd.h
161
LIST_ENTRY(iface) entry;
usr.sbin/ripd/ripd.h
224
LIST_HEAD(, iface) iface_list;
usr.sbin/ripd/ripd.h
354
struct iface *if_find_index(u_short);
usr.sbin/ripd/ripe.c
188
LIST_FOREACH(iface, &xconf->iface_list, entry) {
usr.sbin/ripd/ripe.c
189
if_init(xconf, iface);
usr.sbin/ripd/ripe.c
190
if (if_fsm(iface, IF_EVT_UP))
usr.sbin/ripd/ripe.c
192
iface->name);
usr.sbin/ripd/ripe.c
231
struct iface *iface;
usr.sbin/ripd/ripe.c
265
LIST_FOREACH(iface, &oeconf->iface_list, entry) {
usr.sbin/ripd/ripe.c
266
if (kif->ifindex == iface->ifindex) {
usr.sbin/ripd/ripe.c
267
iface->flags = kif->flags;
usr.sbin/ripd/ripe.c
268
iface->linkstate = kif->link_state;
usr.sbin/ripd/ripe.c
271
if_fsm(iface, IF_EVT_UP);
usr.sbin/ripd/ripe.c
273
iface->name);
usr.sbin/ripd/ripe.c
275
if_fsm(iface, IF_EVT_DOWN);
usr.sbin/ripd/ripe.c
277
iface->name);
usr.sbin/ripd/ripe.c
311
struct iface *iface;
usr.sbin/ripd/ripe.c
359
LIST_FOREACH(iface, &oeconf->iface_list, entry) {
usr.sbin/ripd/ripe.c
360
add_entry(&iface->rq_list, rr);
usr.sbin/ripd/ripe.c
375
LIST_FOREACH(iface, &oeconf->iface_list, entry) {
usr.sbin/ripd/ripe.c
376
send_request(&iface->rq_list, iface, NULL);
usr.sbin/ripd/ripe.c
389
LIST_FOREACH(iface, &oeconf->iface_list, entry)
usr.sbin/ripd/ripe.c
390
add_entry(&iface->rp_list, rr);
usr.sbin/ripd/ripe.c
406
LIST_FOREACH(iface, &oeconf->iface_list,
usr.sbin/ripd/ripe.c
408
send_response(&iface->rp_list,
usr.sbin/ripd/ripe.c
409
iface, NULL);
usr.sbin/ripd/ripe.c
429
LIST_FOREACH(iface, &oeconf->iface_list,
usr.sbin/ripd/ripe.c
431
if (rr->ifindex != iface->ifindex)
usr.sbin/ripd/ripe.c
432
send_triggered_update(iface, rr);
usr.sbin/ripd/ripe.c
458
struct iface *iface;
usr.sbin/ripd/ripe.c
468
LIST_FOREACH(iface, &oeconf->iface_list, entry) {
usr.sbin/ripd/ripe.c
469
if (if_fsm(iface, IF_EVT_DOWN)) {
usr.sbin/ripd/ripe.c
471
iface->name);
usr.sbin/ripd/ripe.c
474
while ((iface = LIST_FIRST(&oeconf->iface_list)) != NULL) {
usr.sbin/ripd/ripe.c
475
LIST_REMOVE(iface, entry);
usr.sbin/ripd/ripe.c
478
if (iface->state == IF_STA_DOWN)
usr.sbin/ripd/ripe.c
479
ripe_demote_iface(iface, 1);
usr.sbin/ripd/ripe.c
481
if_del(iface);
usr.sbin/ripd/ripe.c
498
struct iface *iface;
usr.sbin/ripd/ripe.c
501
LIST_FOREACH(iface, &oeconf->iface_list, entry) {
usr.sbin/ripd/ripe.c
502
if (idx == 0 || idx == iface->ifindex) {
usr.sbin/ripd/ripe.c
503
ictl = if_to_ctl(iface);
usr.sbin/ripd/ripe.c
513
struct iface *iface;
usr.sbin/ripd/ripe.c
517
LIST_FOREACH(iface, &oeconf->iface_list, entry)
usr.sbin/ripd/ripe.c
518
LIST_FOREACH(nbr, &iface->nbr_list, entry) {
usr.sbin/ripd/ripe.c
529
ripe_demote_iface(struct iface *iface, int active)
usr.sbin/ripd/ripe.c
533
if (iface->demote_group[0] == '\0')
usr.sbin/ripd/ripe.c
537
strlcpy(dmsg.demote_group, iface->demote_group,
usr.sbin/ripd/ripe.c
72
struct iface *iface = NULL;
usr.sbin/ripd/ripe.h
101
int send_triggered_update(struct iface *, struct rip_route *);
usr.sbin/ripd/ripe.h
102
int send_request(struct packet_head *, struct iface *, struct nbr *);
usr.sbin/ripd/ripe.h
103
int send_response(struct packet_head *, struct iface *, struct nbr *);
usr.sbin/ripd/ripe.h
116
void ripe_demote_iface(struct iface *, int);
usr.sbin/ripd/ripe.h
119
int auth_validate(u_int8_t **, u_int16_t *, struct iface *, struct nbr *,
usr.sbin/ripd/ripe.h
121
int auth_gen(struct ibuf *, struct iface *);
usr.sbin/ripd/ripe.h
122
int auth_add_trailer(struct ibuf *, struct iface *);
usr.sbin/ripd/ripe.h
129
struct nbr *nbr_new(u_int32_t, struct iface *);
usr.sbin/ripd/ripe.h
132
struct nbr *nbr_find_ip(struct iface *, u_int32_t);
usr.sbin/ripd/ripe.h
134
struct nbr_failed *nbr_failed_find(struct iface *, u_int32_t);
usr.sbin/ripd/ripe.h
62
struct iface *iface;
usr.sbin/ripd/ripe.h
75
int send_packet(struct iface *, void *, size_t, struct sockaddr_in *);
usr.sbin/ripd/ripe.h
80
void if_init(struct ripd_conf *, struct iface *);
usr.sbin/ripd/ripe.h
81
int if_fsm(struct iface *, enum iface_event);
usr.sbin/ripd/ripe.h
82
int if_set_mcast(struct iface *);
usr.sbin/ripd/ripe.h
88
struct iface *if_new(struct kif *);
usr.sbin/ripd/ripe.h
89
void if_del(struct iface *);
usr.sbin/ripd/ripe.h
92
int if_join_group(struct iface *, struct in_addr *);
usr.sbin/ripd/ripe.h
93
int if_leave_group(struct iface *, struct in_addr *);
usr.sbin/ripd/ripe.h
94
struct ctl_iface *if_to_ctl(struct iface *);
usr.sbin/ripd/ripe.h
97
void recv_request(struct iface *, struct nbr *, u_int8_t *, u_int16_t);
usr.sbin/ripd/ripe.h
98
void recv_response(struct iface *, struct nbr *, u_int8_t *, u_int16_t);
usr.sbin/route6d/route6d.c
1511
int iface = 0, rtable = 0;
usr.sbin/route6d/route6d.c
1602
iface++;
usr.sbin/route6d/route6d.c
1689
iface++;
usr.sbin/route6d/route6d.c
1693
if (iface) {
usr.sbin/unbound/daemon/acl_list.c
202
acl_interface_str_cfg(struct acl_list* acl_interface, const char* iface,
usr.sbin/unbound/daemon/acl_list.c
210
if(!(node=acl_find_or_create_str2addr(acl_interface, iface, 1, port))) {
usr.sbin/unbound/daemon/acl_list.c
212
iface, port);