Lines Matching defs:ifp
439 void fr_forgetifp(ifp, ifs)
440 void *ifp;
448 if (f->fr_ifa == ifp)
452 if (f->fr_ifa == ifp)
456 if (f->fr_ifa == ifp)
460 if (f->fr_ifa == ifp)
465 if (f->fr_ifa == ifp)
469 if (f->fr_ifa == ifp)
473 if (f->fr_ifa == ifp)
477 if (f->fr_ifa == ifp)
481 fr_natifpsync(IPFSYNC_OLDIFP, 4, ifp, NULL, ifs);
482 fr_natifpsync(IPFSYNC_OLDIFP, 6, ifp, NULL, ifs);
502 static int no_output(ifp, m, s)
505 static int no_output (ifp, m, s, rt, cp)
508 static int no_output(ifp, m, s, rt)
512 struct ifnet *ifp;
521 static int write_output(ifp, m, s)
524 static int write_output (ifp, m, s, rt, cp)
527 static int write_output(ifp, m, s, rt)
531 struct ifnet *ifp;
546 sprintf(fname, "/tmp/%s", ifp->if_xname);
548 sprintf(fname, "/tmp/%s%d", ifp->if_name, ifp->if_unit);
561 static void fr_setifpaddr(ifp, addr)
562 struct ifnet *ifp;
572 if (ifp->if_addrlist.tqh_first != NULL)
575 if (ifp->in_ifaddr != NULL)
577 if (ifp->if_addrlist != NULL)
584 ifp->if_addrlist.tqh_first = ifa;
587 ifp->in_ifaddr = ifa;
589 ifp->if_addrlist = ifa;
613 struct ifnet *ifp, **ifpp, **old_ifneta;
626 for (ifpp = ifneta; ifpp && (ifp = *ifpp); ifpp++) {
627 if (!strcmp(name, ifp->if_xname)) {
629 fr_setifpaddr(ifp, addr);
630 return ifp;
643 for (ifpp = ifneta; ifpp && (ifp = *ifpp); ifpp++) {
644 COPYIFNAME(ifp, ifname, 0);
647 fr_setifpaddr(ifp, addr);
648 return ifp;
654 ifneta = (struct ifnet **)malloc(sizeof(ifp) * 2);
658 ifneta[0] = (struct ifnet *)calloc(1, sizeof(*ifp));
668 (nifs + 1) * sizeof(ifp));
675 ifneta[nifs - 1] = (struct ifnet *)malloc(sizeof(*ifp));
681 ifp = ifneta[nifs - 1];
686 (void) strncpy(ifp->if_xname, name, sizeof(ifp->if_xname));
691 ifp->if_unit = atoi(s);
692 ifp->if_name = (char *)malloc(s - name + 1);
693 if (ifp->if_name == NULL) {
701 (void) strncpy(ifp->if_name, name, s - name);
702 ifp->if_name[s - name] = '\0';
704 ifp->if_name = strdup(name);
705 ifp->if_unit = -1;
708 ifp->if_output = no_output;
711 fr_setifpaddr(ifp, addr);
714 return ifp;
718 char *get_ifname(ifp)
719 struct ifnet *ifp;
725 sprintf(ifname, "%s", ifp->if_xname);
727 sprintf(ifname, "%s%d", ifp->if_name, ifp->if_unit);
736 struct ifnet *ifp, **ifpp;
743 for (ifpp = ifneta; ifpp && (ifp = *ifpp); ifpp++) {
744 ifp->if_output = write_output;
745 sprintf(fname, "/tmp/%s", ifp->if_xname);
754 for (ifpp = ifneta; ifpp && (ifp = *ifpp); ifpp++) {
755 ifp->if_output = write_output;
756 sprintf(fname, "/tmp/%s%d", ifp->if_name, ifp->if_unit);
772 struct ifnet *ifp = fdp->fd_ifp;
775 if (!ifp)
782 (*ifp->if_output)(ifp, (void *)ip, NULL);
784 (*ifp->if_output)(ifp, (void *)m, NULL, 0, 0);
786 (*ifp->if_output)(ifp, (void *)m, NULL, 0);
995 struct ifnet *ifp = ifptr;
1003 ifa = ifp->if_addrlist.tqh_first;
1006 ifa = (struct in_ifaddr *)ifp->in_ifaddr;
1008 ifa = ifp->if_addrlist;