Lines Matching refs:ifp
127 infiniband_bpf_mtap(struct ifnet *ifp, struct mbuf *mb) in infiniband_bpf_mtap() argument
132 if (!bpf_peers_present(ifp->if_bpf)) in infiniband_bpf_mtap()
146 bpf_mtap2(ifp->if_bpf, &eh, sizeof(eh), mb); in infiniband_bpf_mtap()
163 infiniband_resolve_bpf(struct ifnet *ifp, const struct sockaddr *dst, in infiniband_resolve_bpf() argument
180 memcpy(ibh->ib_hwaddr, ifp->if_broadcastaddr, sizeof(ibh->ib_hwaddr)); in infiniband_resolve_bpf()
209 infiniband_requestencap(struct ifnet *ifp, struct if_encap_req *req) in infiniband_requestencap() argument
250 lladdr = ifp->if_broadcastaddr; in infiniband_requestencap()
265 infiniband_resolve_addr(struct ifnet *ifp, struct mbuf *m, in infiniband_resolve_addr() argument
282 error = arpresolve(ifp, 0, m, dst, phdr, &lleflags, plle); in infiniband_resolve_addr()
285 memcpy(ih->ib_hwaddr, ifp->if_broadcastaddr, in infiniband_resolve_addr()
290 ifp->if_broadcastaddr, ih->ib_hwaddr); in infiniband_resolve_addr()
301 error = nd6_resolve(ifp, LLE_SF(af, 0), m, dst, phdr, in infiniband_resolve_addr()
306 ifp->if_broadcastaddr, ih->ib_hwaddr); in infiniband_resolve_addr()
313 if_printf(ifp, "can't handle af%d\n", dst->sa_family); in infiniband_resolve_addr()
338 infiniband_output(struct ifnet *ifp, struct mbuf *m, in infiniband_output() argument
360 error = infiniband_resolve_bpf(ifp, dst, m, ro, ih, &hlen); in infiniband_output()
399 error = mac_ifnet_check_transmit(ifp, m); in infiniband_output()
405 if (ifp->if_flags & IFF_MONITOR) { in infiniband_output()
409 if (!((ifp->if_flags & IFF_UP) && in infiniband_output()
410 (ifp->if_drv_flags & IFF_DRV_RUNNING))) { in infiniband_output()
419 error = infiniband_resolve_addr(ifp, m, dst, ro, phdr, &pflags, in infiniband_output()
429 return (if_simloop(ifp, m, RO_GET_FAMILY(ro, dst), 0)); in infiniband_output()
450 return (ifp->if_transmit(ifp, m)); in infiniband_output()
461 infiniband_input(struct ifnet *ifp, struct mbuf *m) in infiniband_input() argument
468 needs_epoch = (ifp->if_flags & IFF_NEEDSEPOCH); in infiniband_input()
481 if_printf(ifp, "called %s w/o net epoch! " in infiniband_input()
490 CURVNET_SET_QUIET(ifp->if_vnet); in infiniband_input()
494 if ((ifp->if_flags & IFF_UP) == 0) { in infiniband_input()
495 if_inc_counter(ifp, IFCOUNTER_IERRORS, 1); in infiniband_input()
510 if (memcmp(ibh->ib_hwaddr, ifp->if_broadcastaddr, in infiniband_input()
511 ifp->if_addrlen) == 0) in infiniband_input()
515 if_inc_counter(ifp, IFCOUNTER_IMCASTS, 1); in infiniband_input()
519 infiniband_bpf_mtap(ifp, m); in infiniband_input()
522 if (ifp->if_flags & IFF_MONITOR) { in infiniband_input()
528 M_SETFIB(m, ifp->if_fib); in infiniband_input()
531 if (ifp->if_type == IFT_INFINIBANDLAG) { in infiniband_input()
534 m = (*lagg_input_infiniband_p)(ifp, m); in infiniband_input()
537 ifp = m->m_pkthdr.rcvif; in infiniband_input()
550 if (ifp->if_flags & IFF_NOARP) { in infiniband_input()
564 if_inc_counter(ifp, IFCOUNTER_IERRORS, 1); in infiniband_input()
577 mac_ifnet_create_mbuf(ifp, m); in infiniband_input()
588 infiniband_resolvemulti(struct ifnet *ifp, struct sockaddr **llsa, in infiniband_resolvemulti() argument
617 sdl = link_init_sdl(ifp, *llsa, IFT_INFINIBAND); in infiniband_resolvemulti()
621 sin->sin_addr.s_addr, ifp->if_broadcastaddr, e_addr); in infiniband_resolvemulti()
637 sdl = link_init_sdl(ifp, *llsa, IFT_INFINIBAND); in infiniband_resolvemulti()
641 &sin6->sin6_addr, ifp->if_broadcastaddr, e_addr); in infiniband_resolvemulti()
651 infiniband_ifattach(struct ifnet *ifp, const uint8_t *lla, const uint8_t *llb) in infiniband_ifattach() argument
657 ifp->if_addrlen = INFINIBAND_ADDR_LEN; in infiniband_ifattach()
658 ifp->if_hdrlen = INFINIBAND_HDR_LEN; in infiniband_ifattach()
659 ifp->if_mtu = INFINIBAND_MTU; in infiniband_ifattach()
660 if_attach(ifp); in infiniband_ifattach()
661 ifp->if_output = infiniband_output; in infiniband_ifattach()
662 ifp->if_input = infiniband_input; in infiniband_ifattach()
663 ifp->if_resolvemulti = infiniband_resolvemulti; in infiniband_ifattach()
664 ifp->if_requestencap = infiniband_requestencap; in infiniband_ifattach()
666 if (ifp->if_baudrate == 0) in infiniband_ifattach()
667 ifp->if_baudrate = IF_Gbps(10); /* default value */ in infiniband_ifattach()
669 ifp->if_broadcastaddr = llb; in infiniband_ifattach()
671 ifa = ifp->if_addr; in infiniband_ifattach()
675 sdl->sdl_alen = ifp->if_addrlen; in infiniband_ifattach()
678 memcpy(LLADDR(sdl), lla, ifp->if_addrlen); in infiniband_ifattach()
680 if (ifp->if_hw_addr != NULL) in infiniband_ifattach()
681 memcpy(ifp->if_hw_addr, lla, ifp->if_addrlen); in infiniband_ifattach()
687 bpfattach(ifp, DLT_EN10MB, ETHER_HDR_LEN); in infiniband_ifattach()
690 for (i = 0; i < ifp->if_addrlen; i++) in infiniband_ifattach()
693 if (i != ifp->if_addrlen) in infiniband_ifattach()
694 if_printf(ifp, "Infiniband address: %20D\n", lla, ":"); in infiniband_ifattach()
697 EVENTHANDLER_INVOKE(infiniband_ifattach_event, ifp); in infiniband_ifattach()
700 devctl_notify("INFINIBAND", ifp->if_xname, "IFATTACH", NULL); in infiniband_ifattach()
707 infiniband_ifdetach(struct ifnet *ifp) in infiniband_ifdetach() argument
709 bpfdetach(ifp); in infiniband_ifdetach()
710 if_detach(ifp); in infiniband_ifdetach()