Lines Matching defs:ifp
173 struct ifnet *ifp;
192 ifp = &sc->sc_if;
193 snprintf(ifp->if_xname, sizeof ifp->if_xname, "%s%d", ifc->ifc_name,
195 ifp->if_softc = sc;
196 ifp->if_mtu = ETHERMTU;
197 ifp->if_ioctl = bridge_ioctl;
198 ifp->if_output = bridge_dummy_output;
199 ifp->if_xflags = IFXF_CLONED;
200 ifp->if_start = NULL;
201 ifp->if_type = IFT_BRIDGE;
202 ifp->if_hdrlen = ETHER_HDR_LEN;
204 if_attach(ifp);
205 if_alloc_sadl(ifp);
208 bpfattach(&sc->sc_if.if_bpf, ifp,
216 bridge_dummy_output(struct ifnet *ifp, struct mbuf *m, struct sockaddr *dst,
224 bridge_clone_destroy(struct ifnet *ifp)
226 struct bridge_softc *sc = ifp->if_softc;
245 if_detach(ifp);
252 bridge_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
254 struct bridge_softc *sc = (struct bridge_softc *)ifp->if_softc;
265 * Ideally it shouldn't be taken before calling `ifp->if_ioctl'
293 if (ifs->if_bridgeidx == ifp->if_index)
309 if (bif->ifp == ifs)
346 bif->ifp = ifs;
350 ifs->if_bridgeidx = ifp->if_index;
353 ether_brport_set(bif->ifp, &bridge_brport);
381 if (ifs->if_bridgeidx == ifp->if_index)
389 if (bif->ifp == ifs)
409 bif->ifp = ifs;
426 if (bif->ifp == ifs)
441 req->ifbr_portno = bif->ifp->if_index & 0xfff;
460 bif->ifp)) == NULL) {
475 if ((ifp->if_flags & IFF_UP) == IFF_UP)
478 if ((ifp->if_flags & IFF_UP) == 0)
538 error = bridgectl_ioctl(ifp, cmd, data);
541 error = bstp_ioctl(ifp, cmd, data);
555 if_detachhook_del(bif->ifp, &bif->bif_dtask);
556 ether_brport_clr(bif->ifp);
565 bif->ifp->if_bridgeidx = 0;
567 error = ifpromisc(bif->ifp, 0);
570 bridge_rtdelete(sc, bif->ifp, 0);
573 if_put(bif->ifp);
574 bif->ifp = NULL;
586 if_detachhook_del(bif->ifp, &bif->bif_dtask);
590 if_put(bif->ifp);
591 bif->ifp = NULL;
684 strlcpy(breq->ifbr_ifsname, bif->ifp->if_xname, IFNAMSIZ);
686 breq->ifbr_portno = bif->ifp->if_index & 0xfff;
697 strlcpy(breq->ifbr_ifsname, bif->ifp->if_xname, IFNAMSIZ);
699 breq->ifbr_portno = bif->ifp->if_index & 0xfff;
714 struct ifnet *ifp;
720 if ((ifp = if_unit(name)) == NULL)
723 if (ifp->if_bridgeidx != sc->sc_if.if_index) {
729 if (bif->ifp == ifp)
740 if_put(ifp);
746 bridge_getbif(struct ifnet *ifp)
754 bifp = if_get(ifp->if_bridgeidx);
760 if (bif->ifp == ifp)
772 struct ifnet *ifp = &sc->sc_if;
774 if (ISSET(ifp->if_flags, IFF_RUNNING))
777 bstp_enable(sc->sc_stp, ifp->if_index);
782 SET(ifp->if_flags, IFF_RUNNING);
791 struct ifnet *ifp = &sc->sc_if;
793 if (!ISSET(ifp->if_flags, IFF_RUNNING))
796 CLR(ifp->if_flags, IFF_RUNNING);
810 bridge_enqueue(struct ifnet *ifp, struct mbuf *m)
827 /* ifp must be a member interface of the bridge. */
828 brifp = if_get(ifp->if_bridgeidx);
842 error = if_enqueue(ifp, m);
852 ifp->if_opackets++;
853 ifp->if_obytes += m->m_pkthdr.len;
876 dst_if = bif->ifp;
886 if (dst_if != ifp &&
936 struct ifnet *ifp;
945 ifp = if_get(m->m_pkthdr.ph_ifidx);
946 if (ifp == NULL) {
951 bridge_process(ifp, m);
953 if_put(ifp);
1121 bridge_ourether(struct ifnet *ifp, uint8_t *ena)
1123 struct arpcom *ac = (struct arpcom *)ifp;
1129 if (carp_ourether(ifp, ena))
1141 bridge_input(struct ifnet *ifp, struct mbuf *m, uint64_t dst, void *null)
1156 bridge_process(struct ifnet *ifp, struct mbuf *m)
1169 brifp = if_get(ifp->if_bridgeidx);
1198 struct arpcom *ac = (struct arpcom *)bif->ifp;
1201 if (bif->ifp == ifp)
1240 bridge_ifinput(ifp, mc);
1242 bridgeintr_frame(brifp, ifp, m);
1250 if (bridge_ourether(bif0->ifp, eh->ether_dhost)) {
1254 if (bif->ifp == ifp)
1256 if (bridge_ourether(bif->ifp, eh->ether_dhost))
1264 ifp, 0, IFBAF_DYNAMIC, m);
1274 ifp = bif->ifp;
1278 bridgeintr_frame(brifp, ifp, m);
1283 bridge_ifinput(ifp, m);
1295 bridge_broadcast(struct bridge_softc *sc, struct ifnet *ifp,
1304 bif = bridge_getbif(ifp);
1309 dst_if = bif->ifp;
1342 if (dst_if->if_index == ifp->if_index)
1382 bridge_localbroadcast(struct ifnet *ifp, struct ether_header *eh,
1395 TAILQ_FOREACH(ifa, &ifp->if_addrlist, ifa_list) {
1411 bridge_ifinput(ifp, m1);
1421 struct ifnet *ifp;
1427 ifp = bif->ifp;
1429 if ((ifp->if_flags & IFF_RUNNING) == 0)
1438 error = bridge_ifenqueue(brifp, ifp, mc);
1498 bridge_ipsec(struct ifnet *ifp, struct ether_header *eh, int hassnap,
1580 tdb = gettdb(ifp->if_rdomain, spi, &dst, proto);
1644 bridge_send_icmp_err(ifp, eh, m,
1669 bridge_ip(struct ifnet *brifp, int dir, struct ifnet *ifp,
1714 m = ipv4_check(ifp, m);
1723 bridge_ipsec(ifp, eh, hassnap, &llc, dir, AF_INET, hlen, m))
1728 if (pf_test(AF_INET, dir, ifp, &m) != PF_PASS)
1739 in_hdr_cksum_out(m, ifp);
1740 in_proto_cksum_out(m, ifp);
1746 m->m_pkthdr.ph_ifidx = ifp->if_index;
1747 m->m_pkthdr.ph_rtableid = ifp->if_rdomain;
1748 ipv4_input(ifp, m);
1757 m = ipv6_check(ifp, m);
1765 bridge_ipsec(ifp, eh, hassnap, &llc, dir, AF_INET6, hlen,
1771 if (pf_test(AF_INET6, dir, ifp, &m) != PF_PASS)
1776 in6_proto_cksum_out(m, ifp);
1782 m->m_pkthdr.ph_ifidx = ifp->if_index;
1783 m->m_pkthdr.ph_rtableid = ifp->if_rdomain;
1784 ipv6_input(ifp, m);
1819 bridge_fragment(struct ifnet *brifp, struct ifnet *ifp, struct ether_header *eh,
1837 if ((ifp->if_capabilities & IFCAP_VLAN_MTU) &&
1838 (len - sizeof(struct ether_vlan_header) <= ifp->if_mtu)) {
1839 bridge_ifenqueue(brifp, ifp, m);
1876 bridge_send_icmp_err(ifp, eh, m, hassnap, &llc,
1877 ifp->if_mtu, ICMP_UNREACH, ICMP_UNREACH_NEEDFRAG);
1881 error = ip_fragment(m, &ml, ifp, ifp->if_mtu);
1900 error = bridge_ifenqueue(brifp, ifp, m);
1915 bridge_ifenqueue(struct ifnet *brifp, struct ifnet *ifp, struct mbuf *m)
1924 error = if_enqueue(ifp, m);
1937 bridge_ifinput(struct ifnet *ifp, struct mbuf *m)
1944 if_input(ifp, &ml);
1948 bridge_send_icmp_err(struct ifnet *ifp,
2011 bridge_enqueue(ifp, m);