Date: Thu, 23 Jan 2020 01:41:10 +0000 (UTC) From: Gleb Smirnoff <glebius@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r357010 - in head/sys: dev/altera/atse dev/beri/virtio/network dev/dpaa dev/hyperv/netvsc dev/if_ndis dev/ntb/if_ntb dev/sbni dev/xen/netback mips/nlm/dev/net net Message-ID: <202001230141.00N1fAIQ037940@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: glebius Date: Thu Jan 23 01:41:09 2020 New Revision: 357010 URL: https://svnweb.freebsd.org/changeset/base/357010 Log: Introduce flag IFF_NEEDSEPOCH that marks Ethernet interfaces that supposedly may call into ether_input() without network epoch. They all need to be reviewed before 13.0-RELEASE. Some may need be fixed. The flag is not planned to be used in the kernel for a long time. Modified: head/sys/dev/altera/atse/if_atse.c head/sys/dev/beri/virtio/network/if_vtbe.c head/sys/dev/dpaa/if_dtsec.c head/sys/dev/hyperv/netvsc/if_hn.c head/sys/dev/if_ndis/if_ndis.c head/sys/dev/ntb/if_ntb/if_ntb.c head/sys/dev/sbni/if_sbni.c head/sys/dev/xen/netback/netback.c head/sys/mips/nlm/dev/net/xlpge.c head/sys/net/if.h Modified: head/sys/dev/altera/atse/if_atse.c ============================================================================== --- head/sys/dev/altera/atse/if_atse.c Thu Jan 23 01:38:51 2020 (r357009) +++ head/sys/dev/altera/atse/if_atse.c Thu Jan 23 01:41:09 2020 (r357010) @@ -1381,7 +1381,8 @@ atse_attach(device_t dev) } ifp->if_softc = sc; if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; + ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST | + IFF_NEEDSEPOCH; ifp->if_ioctl = atse_ioctl; ifp->if_transmit = atse_transmit; ifp->if_qflush = atse_qflush; Modified: head/sys/dev/beri/virtio/network/if_vtbe.c ============================================================================== --- head/sys/dev/beri/virtio/network/if_vtbe.c Thu Jan 23 01:38:51 2020 (r357009) +++ head/sys/dev/beri/virtio/network/if_vtbe.c Thu Jan 23 01:41:09 2020 (r357010) @@ -613,7 +613,7 @@ vtbe_attach(device_t dev) ifp->if_softc = sc; if_initname(ifp, device_get_name(dev), device_get_unit(dev)); ifp->if_flags = (IFF_BROADCAST | IFF_SIMPLEX | - IFF_MULTICAST | IFF_PROMISC); + IFF_MULTICAST | IFF_PROMISC | IFF_NEEDSEPOCH); ifp->if_capabilities = IFCAP_VLAN_MTU; ifp->if_capenable = ifp->if_capabilities; ifp->if_start = vtbe_txstart; Modified: head/sys/dev/dpaa/if_dtsec.c ============================================================================== --- head/sys/dev/dpaa/if_dtsec.c Thu Jan 23 01:38:51 2020 (r357009) +++ head/sys/dev/dpaa/if_dtsec.c Thu Jan 23 01:41:09 2020 (r357010) @@ -688,7 +688,7 @@ dtsec_attach(device_t dev) ifp->if_softc = sc; ifp->if_mtu = ETHERMTU; /* TODO: Configure */ - ifp->if_flags = IFF_SIMPLEX | IFF_BROADCAST; + ifp->if_flags = IFF_SIMPLEX | IFF_BROADCAST | IFF_NEEDSEPOCH; ifp->if_init = dtsec_if_init; ifp->if_start = dtsec_if_start; ifp->if_ioctl = dtsec_if_ioctl; Modified: head/sys/dev/hyperv/netvsc/if_hn.c ============================================================================== --- head/sys/dev/hyperv/netvsc/if_hn.c Thu Jan 23 01:38:51 2020 (r357009) +++ head/sys/dev/hyperv/netvsc/if_hn.c Thu Jan 23 01:41:09 2020 (r357010) @@ -2362,7 +2362,8 @@ hn_attach(device_t dev) */ ifp->if_baudrate = IF_Gbps(10); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; + ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST | + IFF_NEEDSEPOCH; ifp->if_ioctl = hn_ioctl; ifp->if_init = hn_init; #ifdef HN_IFSTART_SUPPORT Modified: head/sys/dev/if_ndis/if_ndis.c ============================================================================== --- head/sys/dev/if_ndis/if_ndis.c Thu Jan 23 01:38:51 2020 (r357009) +++ head/sys/dev/if_ndis/if_ndis.c Thu Jan 23 01:41:09 2020 (r357010) @@ -967,7 +967,8 @@ ndis_ifattach(struct ndis_softc *sc) if_initname(ifp, device_get_name(sc->ndis_dev), device_get_unit(sc->ndis_dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; + ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST | + IFF_NEEDSEPOCH; ifp->if_ioctl = ndis_ifioctl; ifp->if_start = ndis_ifstart; ifp->if_init = ndis_init; Modified: head/sys/dev/ntb/if_ntb/if_ntb.c ============================================================================== --- head/sys/dev/ntb/if_ntb/if_ntb.c Thu Jan 23 01:38:51 2020 (r357009) +++ head/sys/dev/ntb/if_ntb/if_ntb.c Thu Jan 23 01:41:09 2020 (r357010) @@ -172,7 +172,8 @@ ntb_net_attach(device_t dev) if_setinitfn(ifp, ntb_net_init); if_setsoftc(ifp, sc); - if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST | + IFF_NEEDSEPOCH); if_setioctlfn(ifp, ntb_ioctl); if_settransmitfn(ifp, ntb_transmit); if_setqflushfn(ifp, ntb_qflush); Modified: head/sys/dev/sbni/if_sbni.c ============================================================================== --- head/sys/dev/sbni/if_sbni.c Thu Jan 23 01:38:51 2020 (r357009) +++ head/sys/dev/sbni/if_sbni.c Thu Jan 23 01:41:09 2020 (r357010) @@ -243,7 +243,8 @@ sbni_attach(struct sbni_softc *sc, int unit, struct sb ifp->if_baudrate = (csr0 & 0x01 ? 500000 : 2000000) / (1 << flags.rate); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; + ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST | + IFF_NEEDSEPOCH; mtx_init(&sc->lock, ifp->if_xname, MTX_NETWORK_LOCK, MTX_DEF); callout_init_mtx(&sc->wch, &sc->lock, 0); Modified: head/sys/dev/xen/netback/netback.c ============================================================================== --- head/sys/dev/xen/netback/netback.c Thu Jan 23 01:38:51 2020 (r357009) +++ head/sys/dev/xen/netback/netback.c Thu Jan 23 01:41:09 2020 (r357010) @@ -780,7 +780,7 @@ xnb_connect_comms(struct xnb_softc *xnb) xnb->evtchn, /*filter*/NULL, xnb_intr, /*arg*/xnb, - INTR_TYPE_BIO | INTR_MPSAFE, + INTR_TYPE_NET | INTR_MPSAFE, &xnb->xen_intr_handle); if (error != 0) { (void)xnb_disconnect(xnb); Modified: head/sys/mips/nlm/dev/net/xlpge.c ============================================================================== --- head/sys/mips/nlm/dev/net/xlpge.c Thu Jan 23 01:38:51 2020 (r357009) +++ head/sys/mips/nlm/dev/net/xlpge.c Thu Jan 23 01:41:09 2020 (r357010) @@ -1052,7 +1052,8 @@ nlm_xlpge_ifinit(struct nlm_xlpge_softc *sc) } ifp->if_softc = sc; if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; + ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST | + IFF_NEEDSEPOCH; sc->if_flags = ifp->if_flags; /*ifp->if_capabilities = IFCAP_TXCSUM | IFCAP_VLAN_HWTAGGING;*/ ifp->if_capabilities = 0; Modified: head/sys/net/if.h ============================================================================== --- head/sys/net/if.h Thu Jan 23 01:38:51 2020 (r357009) +++ head/sys/net/if.h Thu Jan 23 01:41:09 2020 (r357010) @@ -144,7 +144,7 @@ struct if_data { #define IFF_DEBUG 0x4 /* (n) turn on debugging */ #define IFF_LOOPBACK 0x8 /* (i) is a loopback net */ #define IFF_POINTOPOINT 0x10 /* (i) is a point-to-point link */ -/* 0x20 was IFF_SMART */ +#define IFF_NEEDSEPOCH 0x20 /* (i) calls if_input w/o epoch */ #define IFF_DRV_RUNNING 0x40 /* (d) resources allocated */ #define IFF_NOARP 0x80 /* (n) no address resolution protocol */ #define IFF_PROMISC 0x100 /* (n) receive all packets */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202001230141.00N1fAIQ037940>