Lines Matching defs:ifp

172 ether_ioctl(struct ifnet *ifp, struct arpcom *arp, u_long cmd, caddr_t data)
182 if (ifr->ifr_mtu < ETHERMIN || ifr->ifr_mtu > ifp->if_hardmtu)
185 ifp->if_mtu = ifr->ifr_mtu;
190 if (ifp->if_flags & IFF_MULTICAST) {
207 ether_rtrequest(struct ifnet *ifp, int req, struct rtentry *rt)
214 arp_rtrequest(ifp, req, rt);
218 nd6_rtrequest(ifp, req, rt);
227 ether_resolve(struct ifnet *ifp, struct mbuf *m, struct sockaddr *dst,
230 struct arpcom *ac = (struct arpcom *)ifp;
234 if (!ISSET(ifp->if_flags, IFF_RUNNING))
241 if (ifp->if_rdomain != rtable_l2(m->m_pkthdr.ph_rtableid)) {
243 "if %d vs. mbuf %d\n", ifp->if_xname,
244 ifp->if_rdomain, rtable_l2(m->m_pkthdr.ph_rtableid));
250 error = arpresolve(ifp, rt, m, dst, eh->ether_dhost);
261 ISSET(ifp->if_flags, IFF_SIMPLEX) &&
268 if_input_local(ifp, mcopy, af);
273 error = nd6_resolve(ifp, rt, m, dst, eh->ether_dhost);
284 if (!ISSET(ifp->if_xflags, IFXF_MPLS))
299 error = nd6_resolve(ifp, rt, m, dst, eh->ether_dhost);
305 error = arpresolve(ifp, rt, m, dst, eh->ether_dhost);
330 printf("%s: can't handle af%d\n", ifp->if_xname, af);
344 ether_encap(struct ifnet *ifp, struct mbuf *m, struct sockaddr *dst,
350 error = ether_resolve(ifp, m, dst, rt, &eh);
374 ether_output(struct ifnet *ifp, struct mbuf *m, struct sockaddr *dst,
379 m = ether_encap(ifp, m, dst, rt, &error);
383 return (if_enqueue(ifp, m));
402 ether_input(struct ifnet *ifp, struct mbuf *m)
432 m = vlan_input(ifp, m, &sdelim);
450 ac = (struct arpcom *)ifp;
458 m = (*eb->eb_input)(ifp, m, dst, eb->eb_port);
488 if (ifp->if_type != IFT_CARP &&
489 !SRPL_EMPTY_LOCKED(&ifp->if_carp)) {
490 m = carp_input(ifp, m, dst);
508 if ((ifp->if_flags & IFF_SIMPLEX) == 0) {
516 ifp->if_imcasts++;
533 if (ifp->if_flags & IFF_NOARP)
539 if (ifp->if_flags & IFF_NOARP)
572 m = pppoe_vinput(ifp, m);
586 bpe_input(ifp, m);
591 m = ether_frm_input(ifp, m, dst, etype);
597 (*input)(ifp, m);
605 ether_brport_isset(struct ifnet *ifp)
607 struct arpcom *ac = (struct arpcom *)ifp;
617 ether_brport_set(struct ifnet *ifp, const struct ether_brport *eb)
619 struct arpcom *ac = (struct arpcom *)ifp;
623 "%s setting an already set brport", ifp->if_xname);
629 ether_brport_clr(struct ifnet *ifp)
631 struct arpcom *ac = (struct arpcom *)ifp;
635 "%s clearing an already clear brport", ifp->if_xname);
641 ether_brport_get(struct ifnet *ifp)
643 struct arpcom *ac = (struct arpcom *)ifp;
649 ether_brport_get_locked(struct ifnet *ifp)
651 struct arpcom *ac = (struct arpcom *)ifp;
680 ether_fakeaddr(struct ifnet *ifp)
686 ((struct arpcom *)ifp)->ac_enaddr[0] = 0xfe;
687 ((struct arpcom *)ifp)->ac_enaddr[1] = 0xe1;
688 ((struct arpcom *)ifp)->ac_enaddr[2] = 0xba;
689 ((struct arpcom *)ifp)->ac_enaddr[3] = 0xd0 | (unit++ & 0xf);
690 ((struct arpcom *)ifp)->ac_enaddr[4] = rng;
691 ((struct arpcom *)ifp)->ac_enaddr[5] = rng >> 8;
698 ether_ifattach(struct ifnet *ifp)
700 struct arpcom *ac = (struct arpcom *)ifp;
706 if (ETHER_IS_MULTICAST(((struct arpcom *)ifp)->ac_enaddr))
707 ether_fakeaddr(ifp);
709 ifp->if_type = IFT_ETHER;
710 ifp->if_addrlen = ETHER_ADDR_LEN;
711 ifp->if_hdrlen = ETHER_HDR_LEN;
712 ifp->if_mtu = ETHERMTU;
713 ifp->if_input = ether_input;
714 if (ifp->if_output == NULL)
715 ifp->if_output = ether_output;
716 ifp->if_rtrequest = ether_rtrequest;
718 if (ifp->if_hardmtu == 0)
719 ifp->if_hardmtu = ETHERMTU;
721 if_alloc_sadl(ifp);
722 memcpy(LLADDR(ifp->if_sadl), ac->ac_enaddr, ifp->if_addrlen);
725 bpfattach(&ifp->if_bpf, ifp, DLT_EN10MB, ETHER_HDR_LEN);
730 ether_ifdetach(struct ifnet *ifp)
732 struct arpcom *ac = (struct arpcom *)ifp;
736 if_deactivate(ifp);
1368 struct ifnet *ifp;
1371 ifp = if_get(sfrm->sfrm_ifindex);
1374 ifp = if_unit(sfrm->sfrm_ifname);
1381 if (ifp == NULL)
1384 if (ifp->if_type != IFT_ETHER) {
1385 if_put(ifp);
1389 *ifpp = ifp;
1435 struct ifnet *ifp;
1450 ifp = if_get(epg->epg_ifindex);
1451 if (ifp != NULL) {
1455 if_detachhook_del(ifp, &epg->epg_hook);
1458 strlcpy(ifr.ifr_name, ifp->if_xname,
1464 (*ifp->if_ioctl)(ifp, SIOCDELMULTI, (caddr_t)&ifr);
1466 if_put(ifp);
1483 struct ifnet *ifp = NULL;
1503 error = ether_frm_ifp(&ifp, sfrm);
1506 if (ifp != NULL)
1507 ifindex = ifp->if_index;
1527 if_put(ifp);
1537 struct ifnet *ifp = NULL;
1556 error = ether_frm_ifp(&ifp, sfrm);
1559 if (ifp == NULL)
1571 if (ep->ep_ifindex != ifp->if_index) {
1587 ep->ep_ifindex = ifp->if_index;
1593 if_put(ifp);
1635 struct ifnet *ifp = NULL;
1672 error = ether_frm_ifp(&ifp, sfrm);
1675 if (ifp == NULL) {
1676 ifp = if_get(ep->ep_ifindex);
1677 if (ifp == NULL) {
1683 ep->ep_ifindex != ifp->if_index) {
1707 ifp = if_get(ep->ep_ifindex);
1708 if (ifp == NULL) {
1716 if (ifp->if_type != IFT_ETHER) {
1721 ac = (struct arpcom *)ifp;
1744 error = if_enqueue(ifp, m);
1748 if_put(ifp);
1757 struct ifnet *ifp;
1771 ifp = if_get(ep->ep_ifindex);
1772 if (ifp != NULL) {
1773 strlcpy(sfrm->sfrm_ifname, ifp->if_xname,
1776 if_put(ifp);
1804 struct ifnet *ifp;
1806 ifp = if_get(epg->epg_ifindex);
1810 if (ifp != NULL)
1811 if_detachhook_del(ifp, &epg->epg_hook);
1815 if_put(ifp);
1825 struct ifnet *ifp;
1842 ifp = if_unit(fmr->fmr_ifname);
1845 ifp = if_get(fmr->fmr_ifindex);
1846 if (ifp == NULL)
1849 if (ifp->if_type != IFT_ETHER) {
1861 if (epg->epg_ifindex != ifp->if_index)
1882 epg->epg_ifindex = ifp->if_index;
1901 strlcpy(ifr.ifr_name, ifp->if_xname, sizeof(ifr.ifr_name));
1911 error = (*ifp->if_ioctl)(ifp, cmd, (caddr_t)&ifr);
1924 if_detachhook_add(ifp, &epg->epg_hook);
1930 if_detachhook_del(ifp, &epg->epg_hook);
1936 if_put(ifp);
2120 ether_frm_input(struct ifnet *ifp, struct mbuf *m, uint64_t dst, uint16_t etype)
2142 if (ep->ep_ifindex != ifp->if_index)
2161 sfrm.sfrm_ifindex = ifp->if_index;
2164 strlcpy(sfrm.sfrm_ifname, ifp->if_xname,