Lines Matching refs:pi
162 struct phyint *pi);
174 static void free_phyint(struct phyint *pi);
175 static struct logint *find_logint(struct phyint *pi, char *name);
176 static struct logint *add_logint(struct phyint *pi, char *name);
179 static void deleted_phyint(struct phyint *pi, int s,
608 struct phyint *pi; in advertise() local
620 for (pi = phyint; pi != NULL; pi = pi->pi_next) { in advertise()
629 for (li = pi->pi_logical_first; li != NULL; li = li->li_next) { in advertise()
658 pi->pi_logical_first); in advertise()
661 pi->pi_logical_first); in advertise()
668 pi); in advertise()
684 logdebug("on interface %s\n", pi->pi_name); in advertise()
1131 struct phyint *pi; in sendbcast() local
1136 for (pi = phyint; pi != NULL; pi = pi->pi_next) { in sendbcast()
1138 for (li = pi->pi_logical_first; li != NULL; li = li->li_next) { in sendbcast()
1200 struct phyint *pi; in sendmcast() local
1205 for (pi = phyint; pi != NULL; pi = pi->pi_next) { in sendmcast()
1207 for (li = pi->pi_logical_first; li != NULL; li = li->li_next) { in sendmcast()
1284 struct phyint *pi; in force_preference() local
1287 for (pi = phyint; pi != NULL; pi = pi->pi_next) { in force_preference()
1288 for (li = pi->pi_logical_first; li != NULL; li = li->li_next) { in force_preference()
1310 struct phyint *pi; in initifs() local
1321 for (pi = phyint; pi != NULL; pi = pi->pi_next) { in initifs()
1322 pi->pi_state |= ST_MARKED; in initifs()
1323 for (li = pi->pi_logical_first; li != NULL; li = li->li_next) { in initifs()
1386 pi = find_phyint(phyintname); in initifs()
1387 if (pi == NULL) { in initifs()
1388 pi = add_phyint(phyintname); in initifs()
1389 if (pi == NULL) { in initifs()
1397 pi->pi_state &= ~ST_MARKED; in initifs()
1399 li = find_logint(pi, ifreq.ifr_name); in initifs()
1438 li = add_logint(pi, ifreq.ifr_name); in initifs()
1472 for (pi = phyint; pi != NULL; pi = pi->pi_next) { in initifs()
1473 if (pi->pi_state & ST_MARKED) { in initifs()
1475 pi->pi_state |= ST_DELETED; in initifs()
1477 for (li = pi->pi_logical_first; li != NULL; li = li->li_next) { in initifs()
1483 if (!(pi->pi_state & ST_DELETED)) in initifs()
1490 for (pi = phyint; pi != NULL; pi = pi->pi_next) { in initifs()
1491 if (pi->pi_state & ST_DELETED) { in initifs()
1498 deleted_phyint(pi, s, joinaddr); in initifs()
1500 for (li = pi->pi_logical_first; li != NULL; in initifs()
1510 for (pi = phyint; pi != NULL; pi = nextpi) { in initifs()
1511 nextpi = pi->pi_next; in initifs()
1512 for (li = pi->pi_logical_first; li != NULL; in initifs()
1518 if (pi->pi_state & ST_DELETED) in initifs()
1519 free_phyint(pi); in initifs()
1633 struct phyint *pi; in find_directly_connected_logint() local
1637 pi = phyint; in find_directly_connected_logint()
1639 pi = opi; in find_directly_connected_logint()
1641 for (; pi != NULL; pi = pi->pi_next) { in find_directly_connected_logint()
1642 for (li = pi->pi_logical_first; li != NULL; li = li->li_next) { in find_directly_connected_logint()
1666 struct phyint *pi; in report_interfaces() local
1670 for (pi = phyint; pi != NULL; pi = pi->pi_next) { in report_interfaces()
1672 pi->pi_name, pi->pi_state); in report_interfaces()
1673 for (li = pi->pi_logical_first; li != NULL; li = li->li_next) { in report_interfaces()
1692 struct phyint *pi; in find_phyint() local
1694 for (pi = phyint; pi != NULL; pi = pi->pi_next) { in find_phyint()
1695 if (strcmp(pi->pi_name, name) == 0) in find_phyint()
1696 return (pi); in find_phyint()
1705 struct phyint *pi; in add_phyint() local
1707 pi = malloc(sizeof (*pi)); in add_phyint()
1708 if (pi == NULL) in add_phyint()
1710 bzero((char *)pi, sizeof (*pi)); in add_phyint()
1712 strncpy(pi->pi_name, name, sizeof (pi->pi_name)); in add_phyint()
1714 pi->pi_next = phyint; in add_phyint()
1715 pi->pi_prev = NULL; in add_phyint()
1717 phyint->pi_prev = pi; in add_phyint()
1718 phyint = pi; in add_phyint()
1719 return (pi); in add_phyint()
1723 free_phyint(struct phyint *pi) in free_phyint() argument
1725 assert(pi->pi_logical_first == NULL); in free_phyint()
1726 assert(pi->pi_logical_last == NULL); in free_phyint()
1728 if (pi->pi_prev == NULL) { in free_phyint()
1730 assert(phyint == pi); in free_phyint()
1731 phyint = pi->pi_next; in free_phyint()
1733 assert(pi->pi_prev->pi_next == pi); in free_phyint()
1734 pi->pi_prev->pi_next = pi->pi_next; in free_phyint()
1736 if (pi->pi_next != NULL) { in free_phyint()
1737 assert(pi->pi_next->pi_prev == pi); in free_phyint()
1738 pi->pi_next->pi_prev = pi->pi_prev; in free_phyint()
1740 free(pi); in free_phyint()
1744 find_logint(struct phyint *pi, char *name) in find_logint() argument
1748 for (li = pi->pi_logical_first; li != NULL; li = li->li_next) { in find_logint()
1760 add_logint(struct phyint *pi, char *name) in add_logint() argument
1771 li->li_prev = pi->pi_logical_last; in add_logint()
1772 if (pi->pi_logical_last == NULL) { in add_logint()
1774 assert(pi->pi_logical_first == NULL); in add_logint()
1775 pi->pi_logical_first = li; in add_logint()
1777 pi->pi_logical_last->li_next = li; in add_logint()
1780 li->li_physical = pi; in add_logint()
1781 pi->pi_logical_last = li; in add_logint()
1789 struct phyint *pi; in free_logint() local
1791 pi = li->li_physical; in free_logint()
1794 assert(pi->pi_logical_first == li); in free_logint()
1795 pi->pi_logical_first = li->li_next; in free_logint()
1802 assert(pi->pi_logical_last == li); in free_logint()
1803 pi->pi_logical_last = li->li_prev; in free_logint()
1814 deleted_phyint(struct phyint *pi, int s, in deleted_phyint() argument
1820 logdebug("Deleting physical interface %s\n", pi->pi_name); in deleted_phyint()
1822 for (li = pi->pi_logical_first; li != NULL; li = li->li_next) { in deleted_phyint()
1825 for (li = pi->pi_logical_first; li != NULL; li = li->li_next) { in deleted_phyint()
1880 struct phyint *pi; in deleted_logint() local
1891 pi = li->li_physical; in deleted_logint()
1892 assert(pi->pi_state & ST_JOINED); in deleted_logint()
1926 for (oli = pi->pi_logical_first; oli != NULL; in deleted_logint()
1942 pi->pi_state |= ST_JOINED; in deleted_logint()