diff --git a/sys/net/bridgestp.c b/sys/net/bridgestp.c --- a/sys/net/bridgestp.c +++ b/sys/net/bridgestp.c @@ -262,7 +262,7 @@ memcpy(mtod(m, caddr_t) + sizeof(*eh), &bpdu, sizeof(bpdu)); bp->bp_txcount++; - ifp->if_transmit(ifp, m); + (*ifp->if_transmit)(ifp, m); } static void @@ -392,7 +392,7 @@ m->m_len = m->m_pkthdr.len; bp->bp_txcount++; - ifp->if_transmit(ifp, m); + (*ifp->if_transmit)(ifp, m); } static int diff --git a/sys/net/if.c b/sys/net/if.c --- a/sys/net/if.c +++ b/sys/net/if.c @@ -1262,7 +1262,7 @@ * the driver. */ if (ifp->if_reassign != NULL) - ifp->if_reassign(ifp, new_vnet, NULL); + (*ifp->if_reassign)(ifp, new_vnet, NULL); /* * Switch to the context of the target vnet. @@ -1681,18 +1681,18 @@ ifd->ifi_epoch = ifp->if_epoch; ifd->ifi_lastchange = ifp->if_lastchange; - ifd->ifi_ipackets = ifp->if_get_counter(ifp, IFCOUNTER_IPACKETS); - ifd->ifi_ierrors = ifp->if_get_counter(ifp, IFCOUNTER_IERRORS); - ifd->ifi_opackets = ifp->if_get_counter(ifp, IFCOUNTER_OPACKETS); - ifd->ifi_oerrors = ifp->if_get_counter(ifp, IFCOUNTER_OERRORS); - ifd->ifi_collisions = ifp->if_get_counter(ifp, IFCOUNTER_COLLISIONS); - ifd->ifi_ibytes = ifp->if_get_counter(ifp, IFCOUNTER_IBYTES); - ifd->ifi_obytes = ifp->if_get_counter(ifp, IFCOUNTER_OBYTES); - ifd->ifi_imcasts = ifp->if_get_counter(ifp, IFCOUNTER_IMCASTS); - ifd->ifi_omcasts = ifp->if_get_counter(ifp, IFCOUNTER_OMCASTS); - ifd->ifi_iqdrops = ifp->if_get_counter(ifp, IFCOUNTER_IQDROPS); - ifd->ifi_oqdrops = ifp->if_get_counter(ifp, IFCOUNTER_OQDROPS); - ifd->ifi_noproto = ifp->if_get_counter(ifp, IFCOUNTER_NOPROTO); + ifd->ifi_ipackets = (*ifp->if_get_counter)(ifp, IFCOUNTER_IPACKETS); + ifd->ifi_ierrors = (*ifp->if_get_counter)(ifp, IFCOUNTER_IERRORS); + ifd->ifi_opackets = (*ifp->if_get_counter)(ifp, IFCOUNTER_OPACKETS); + ifd->ifi_oerrors = (*ifp->if_get_counter)(ifp, IFCOUNTER_OERRORS); + ifd->ifi_collisions = (*ifp->if_get_counter)(ifp, IFCOUNTER_COLLISIONS); + ifd->ifi_ibytes = (*ifp->if_get_counter)(ifp, IFCOUNTER_IBYTES); + ifd->ifi_obytes = (*ifp->if_get_counter)(ifp, IFCOUNTER_OBYTES); + ifd->ifi_imcasts = (*ifp->if_get_counter)(ifp, IFCOUNTER_IMCASTS); + ifd->ifi_omcasts = (*ifp->if_get_counter)(ifp, IFCOUNTER_OMCASTS); + ifd->ifi_iqdrops = (*ifp->if_get_counter)(ifp, IFCOUNTER_IQDROPS); + ifd->ifi_oqdrops = (*ifp->if_get_counter)(ifp, IFCOUNTER_OQDROPS); + ifd->ifi_noproto = (*ifp->if_get_counter)(ifp, IFCOUNTER_NOPROTO); } /* @@ -2129,7 +2129,7 @@ if (ifp->if_carp) (*carp_linkstate_p)(ifp); if (ifp->if_bridge) - ifp->if_bridge_linkstate(ifp); + (*ifp->if_bridge_linkstate)(ifp); if (ifp->if_lagg) (*lagg_linkstate_p)(ifp, link_state); @@ -2158,7 +2158,7 @@ ifp->if_flags &= ~IFF_UP; getmicrotime(&ifp->if_lastchange); - ifp->if_qflush(ifp); + (*ifp->if_qflush)(ifp); if (ifp->if_carp) (*carp_linkstate_p)(ifp); @@ -3534,7 +3534,7 @@ /* Provide called function with buffer size information */ sdl.sdl_len = sizeof(sdl); llsa = (struct sockaddr *)&sdl; - error = ifp->if_resolvemulti(ifp, &llsa, sa); + error = (*ifp->if_resolvemulti)(ifp, &llsa, sa); if (error) goto unlock_out; } @@ -4837,7 +4837,7 @@ if (ifp->if_resolvemulti == NULL) return (EOPNOTSUPP); - return (ifp->if_resolvemulti(ifp, srcs, dst)); + return ((*ifp->if_resolvemulti)(ifp, srcs, dst)); } int @@ -4846,7 +4846,7 @@ if (ifp->if_ioctl == NULL) return (EOPNOTSUPP); - return (ifp->if_ioctl(ifp, cmd, data)); + return ((*ifp->if_ioctl)(ifp, cmd, data)); } struct mbuf * @@ -5001,7 +5001,7 @@ { if (ifp->if_snd_tag_alloc == NULL) return (EOPNOTSUPP); - return (ifp->if_snd_tag_alloc(ifp, params, mstp)); + return ((*ifp->if_snd_tag_alloc)(ifp, params, mstp)); } void @@ -5085,7 +5085,7 @@ uint64_t if_getcounter(if_t ifp, ift_counter counter) { - return (ifp->if_get_counter(ifp, counter)); + return ((*ifp->if_get_counter)(ifp, counter)); } bool diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c --- a/sys/net/if_bridge.c +++ b/sys/net/if_bridge.c @@ -2441,7 +2441,7 @@ */ if (dst_ifp->if_type == IFT_GIF) m->m_pkthdr.csum_data = AF_LINK; - if ((err = dst_ifp->if_transmit(dst_ifp, m))) { + if ((err = (*dst_ifp->if_transmit)(dst_ifp, m))) { int n; for (m = m0, n = 1; m != NULL; m = m0, n++) { @@ -2740,7 +2740,7 @@ */ if ((m->m_flags & M_BRIDGE_INJECT) == 0 && (if_getcapenable(ifp) & IFCAP_NETMAP) != 0) { - ifp->if_input(ifp, m); + (*ifp->if_input)(ifp, m); return; } m->m_flags &= ~M_BRIDGE_INJECT; @@ -2988,7 +2988,7 @@ if (mc2 != NULL) { mc2->m_pkthdr.rcvif = bifp; mc2->m_flags &= ~M_BRIDGE_INJECT; - sc->sc_if_input(bifp, mc2); + (*sc->sc_if_input)(bifp, mc2); } /* Return the original packet for local processing. */ @@ -3014,7 +3014,7 @@ #define GRAB_FOR_NETMAP(ifp, m) do { \ if ((if_getcapenable(ifp) & IFCAP_NETMAP) != 0 && \ ((m)->m_flags & M_BRIDGE_INJECT) == 0) { \ - (ifp)->if_input(ifp, m); \ + (*(ifp)->if_input)(ifp, m); \ return (NULL); \ } \ } while (0) @@ -3135,7 +3135,7 @@ } sc = if_getsoftc(bifp); - sc->sc_if_input(ifp, m); + (*sc->sc_if_input)(ifp, m); return; } @@ -3147,7 +3147,7 @@ m->m_flags |= M_BRIDGE_INJECT; sc = if_getsoftc(ifp); - sc->sc_if_input(ifp, m); + (*sc->sc_if_input)(ifp, m); } /* diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c --- a/sys/net/if_ethersubr.c +++ b/sys/net/if_ethersubr.c @@ -506,7 +506,7 @@ * any uninitialized bytes. */ kmsan_check_mbuf(m, "ether_output"); - return ((ifp->if_transmit)(ifp, m)); + return ((*ifp->if_transmit)(ifp, m)); } /* @@ -1156,12 +1156,12 @@ switch (ifa->ifa_addr->sa_family) { #ifdef INET case AF_INET: - ifp->if_init(ifp->if_softc); /* before arpwhohas */ + (*ifp->if_init)(ifp->if_softc); /* before arpwhohas */ arp_ifinit(ifp, ifa); break; #endif default: - ifp->if_init(ifp->if_softc); + (*ifp->if_init)(ifp->if_softc); break; } break; diff --git a/sys/net/if_fwsubr.c b/sys/net/if_fwsubr.c --- a/sys/net/if_fwsubr.c +++ b/sys/net/if_fwsubr.c @@ -269,7 +269,7 @@ */ enc->ul[0] = htonl(enc->ul[0]); - error = (ifp->if_transmit)(ifp, m); + error = (*ifp->if_transmit)(ifp, m); return (error); } else { /* @@ -329,7 +329,7 @@ enc->ul[0] = htonl(enc->ul[0]); enc->ul[1] = htonl(enc->ul[1]); - error = (ifp->if_transmit)(ifp, m); + error = (*ifp->if_transmit)(ifp, m); if (error) { if (mtail) m_freem(mtail); @@ -670,12 +670,12 @@ switch (ifa->ifa_addr->sa_family) { #ifdef INET case AF_INET: - ifp->if_init(ifp->if_softc); /* before arpwhohas */ + (*ifp->if_init)(ifp->if_softc); /* before arpwhohas */ arp_ifinit(ifp, ifa); break; #endif default: - ifp->if_init(ifp->if_softc); + (*ifp->if_init)(ifp->if_softc); break; } break; diff --git a/sys/net/if_gif.c b/sys/net/if_gif.c --- a/sys/net/if_gif.c +++ b/sys/net/if_gif.c @@ -415,7 +415,7 @@ * the gif_transmit() routine, avoiding using yet another mtag. */ m->m_pkthdr.csum_data = af; - return (ifp->if_transmit(ifp, m)); + return ((*ifp->if_transmit)(ifp, m)); } void diff --git a/sys/net/if_gre.c b/sys/net/if_gre.c --- a/sys/net/if_gre.c +++ b/sys/net/if_gre.c @@ -620,7 +620,7 @@ * the gre_transmit() routine, avoiding using yet another mtag. */ m->m_pkthdr.csum_data = af; - return (ifp->if_transmit(ifp, m)); + return ((*ifp->if_transmit)(ifp, m)); } static void diff --git a/sys/net/if_infiniband.c b/sys/net/if_infiniband.c --- a/sys/net/if_infiniband.c +++ b/sys/net/if_infiniband.c @@ -447,7 +447,7 @@ * Queue message on interface, update output statistics if * successful, and start output if interface not yet active. */ - return (ifp->if_transmit(ifp, m)); + return ((*ifp->if_transmit)(ifp, m)); bad: if (m != NULL) m_freem(m); diff --git a/sys/net/if_ipsec.c b/sys/net/if_ipsec.c --- a/sys/net/if_ipsec.c +++ b/sys/net/if_ipsec.c @@ -446,7 +446,7 @@ struct route *ro) { - return (ifp->if_transmit(ifp, m)); + return ((*ifp->if_transmit)(ifp, m)); } int diff --git a/sys/net/if_lagg.c b/sys/net/if_lagg.c --- a/sys/net/if_lagg.c +++ b/sys/net/if_lagg.c @@ -859,7 +859,7 @@ /* Read port counters */ pval = lp->port_counters.val; for (i = 0; i < IFCOUNTERS; i++, pval++) - *pval = ifp->if_get_counter(ifp, i); + *pval = (*ifp->if_get_counter)(ifp, i); /* * Insert into the list of ports. @@ -956,7 +956,7 @@ /* Update detached port counters */ pval = lp->port_counters.val; for (i = 0; i < IFCOUNTERS; i++, pval++) { - vdiff = ifp->if_get_counter(ifp, i) - *pval; + vdiff = (*ifp->if_get_counter)(ifp, i) - *pval; sc->detached_counters.val[i] += vdiff; } @@ -1115,7 +1115,7 @@ oldval = lp->port_counters.val[cnt]; /* current value */ lpifp = lp->lp_ifp; - newval = lpifp->if_get_counter(lpifp, cnt); + newval = (*lpifp->if_get_counter)(lpifp, cnt); /* Calculate diff and save new */ vsum += newval - oldval; } @@ -2198,7 +2198,7 @@ #ifdef DEV_NETMAP if (m != NULL && scifp->if_capenable & IFCAP_NETMAP) { - scifp->if_input(scifp, m); + (*scifp->if_input)(scifp, m); m = NULL; } #endif /* DEV_NETMAP */ @@ -2387,7 +2387,7 @@ m_snd_tag_rele(mst); } #endif - return (ifp->if_transmit)(ifp, m); + return ((*ifp->if_transmit)(ifp, m)); } /* diff --git a/sys/net/if_llatbl.c b/sys/net/if_llatbl.c --- a/sys/net/if_llatbl.c +++ b/sys/net/if_llatbl.c @@ -422,7 +422,7 @@ ereq.family = family; ereq.lladdr = lladdr; ereq.lladdr_len = ifp->if_addrlen; - error = ifp->if_requestencap(ifp, &ereq); + error = (*ifp->if_requestencap)(ifp, &ereq); if (error == 0) { *bufsize = ereq.bufsize; *lladdr_off = ereq.lladdr_off; diff --git a/sys/net/if_me.c b/sys/net/if_me.c --- a/sys/net/if_me.c +++ b/sys/net/if_me.c @@ -544,7 +544,7 @@ else af = RO_GET_FAMILY(ro, dst); m->m_pkthdr.csum_data = af; - return (ifp->if_transmit(ifp, m)); + return ((*ifp->if_transmit)(ifp, m)); } #define MTAG_ME 1414491977 diff --git a/sys/net/if_mib.c b/sys/net/if_mib.c --- a/sys/net/if_mib.c +++ b/sys/net/if_mib.c @@ -101,7 +101,7 @@ ifmd.ifmd_snd_len = ifp->if_snd.ifq_len; ifmd.ifmd_snd_maxlen = ifp->if_snd.ifq_maxlen; ifmd.ifmd_snd_drops = - ifp->if_get_counter(ifp, IFCOUNTER_OQDROPS); + (*ifp->if_get_counter)(ifp, IFCOUNTER_OQDROPS); error = SYSCTL_OUT(req, &ifmd, sizeof ifmd); if (error) diff --git a/sys/net/if_ovpn.c b/sys/net/if_ovpn.c --- a/sys/net/if_ovpn.c +++ b/sys/net/if_ovpn.c @@ -2021,7 +2021,7 @@ static int ovpn_transmit(struct ifnet *ifp, struct mbuf *m) { - return (ifp->if_output(ifp, m, NULL, NULL)); + return ((*ifp->if_output)(ifp, m, NULL, NULL)); } static int diff --git a/sys/net/if_tuntap.c b/sys/net/if_tuntap.c --- a/sys/net/if_tuntap.c +++ b/sys/net/if_tuntap.c @@ -1537,7 +1537,7 @@ } } - error = (ifp->if_transmit)(ifp, m0); + error = (*ifp->if_transmit)(ifp, m0); if (error) return (ENOBUFS); if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1); diff --git a/sys/net/if_vlan.c b/sys/net/if_vlan.c --- a/sys/net/if_vlan.c +++ b/sys/net/if_vlan.c @@ -1499,7 +1499,7 @@ ifv = p->if_softc; } while (p->if_type == IFT_L2VLAN); - return p->if_output(ifp, m, dst, ro); + return ((*p->if_output)(ifp, m, dst, ro)); } #ifdef ALTQ diff --git a/sys/net80211/ieee80211_freebsd.c b/sys/net80211/ieee80211_freebsd.c --- a/sys/net80211/ieee80211_freebsd.c +++ b/sys/net80211/ieee80211_freebsd.c @@ -792,7 +792,7 @@ */ IEEE80211_TX_UNLOCK_ASSERT(vap->iv_ic); - return (ifp->if_transmit(ifp, m)); + return ((*ifp->if_transmit)(ifp, m)); } diff --git a/sys/net80211/ieee80211_ioctl.c b/sys/net80211/ieee80211_ioctl.c --- a/sys/net80211/ieee80211_ioctl.c +++ b/sys/net80211/ieee80211_ioctl.c @@ -3695,7 +3695,7 @@ case AF_INET: if ((ifp->if_flags & IFF_UP) == 0) { ifp->if_flags |= IFF_UP; - ifp->if_init(ifp->if_softc); + (*ifp->if_init)(ifp->if_softc); } arp_ifinit(ifp, ifa); break; @@ -3703,7 +3703,7 @@ default: if ((ifp->if_flags & IFF_UP) == 0) { ifp->if_flags |= IFF_UP; - ifp->if_init(ifp->if_softc); + (*ifp->if_init)(ifp->if_softc); } break; } diff --git a/sys/netgraph/ng_iface.c b/sys/netgraph/ng_iface.c --- a/sys/netgraph/ng_iface.c +++ b/sys/netgraph/ng_iface.c @@ -382,7 +382,7 @@ return (ENOBUFS); } *(sa_family_t *)m->m_data = af; - error = (ifp->if_transmit)(ifp, m); + error = (*ifp->if_transmit)(ifp, m); } else error = ng_iface_send(ifp, m, af); diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c --- a/sys/netinet/if_ether.c +++ b/sys/netinet/if_ether.c @@ -330,7 +330,7 @@ ereq.hdata = (u_char *)ah; if (bcast) ereq.flags = IFENCAP_FLAG_BROADCAST; - error = ifp->if_requestencap(ifp, &ereq); + error = (*ifp->if_requestencap)(ifp, &ereq); if (error == 0) *bufsize = ereq.bufsize; diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -5249,7 +5249,7 @@ return; } - ifp->if_transmit(ifp, m); + (*ifp->if_transmit)(ifp, m); } static int @@ -10767,7 +10767,7 @@ *m0 = NULL; return (PF_PASS); } - (ifp->if_output)(ifp, *m0, sintosa(&pd.pf_mtag->dst), NULL); + (*ifp->if_output)(ifp, *m0, sintosa(&pd.pf_mtag->dst), NULL); *m0 = NULL; return (PF_PASS); }