Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 Jun 2024 22:40:31 +1000
From:      Peter Jeremy <peterj@freebsd.org>
To:        Mark Johnston <markj@freebsd.org>
Cc:        src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org
Subject:   Re: git: bf454ca88bdf - main - wg: Add netmap support
Message-ID:  <Zm2Lv-08-qZHNCjF@server.rulingia.com>
In-Reply-To: <202404201605.43KG564E080220@gitrepo.freebsd.org>
References:  <202404201605.43KG564E080220@gitrepo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--VKAYPSKkzu5Qsqrn
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On 2024-Apr-20 16:05:06 +0000, Mark Johnston <markj@FreeBSD.org> wrote:
>URL: https://cgit.FreeBSD.org/src/commit/?id=3Dbf454ca88bdf4acfa873386e876=
ff5e772e6a830
>
>    wg: Add netmap support
=2E..
>--- a/sys/dev/wg/if_wg.c
>+++ b/sys/dev/wg/if_wg.c
=2E..
>@@ -2206,6 +2341,11 @@ wg_output(if_t ifp, struct mbuf *m, const struct so=
ckaddr *dst, struct route *ro
> 		return (EAFNOSUPPORT);
> 	}
>=20
>+#ifdef DEV_NETMAP
>+	if ((if_getcapenable(ifp) & IFCAP_NETMAP) !=3D 0)
>+		return (wg_xmit_netmap(ifp, m, af));
>+#endif
>+
> 	defragged =3D m_defrag(m, M_NOWAIT);
> 	if (defragged)
> 		m =3D defragged;
>@@ -2781,7 +2921,10 @@ wg_clone_create(struct if_clone *ifc, char *name, s=
ize_t len,
> 	if_setinitfn(ifp, wg_init);
> 	if_setreassignfn(ifp, wg_reassign);
> 	if_setqflushfn(ifp, wg_qflush);
>+#ifdef DEV_NETMAP
> 	if_settransmitfn(ifp, wg_transmit);
>+	if_setinputfn(ifp, wg_if_input);
>+#endif
> 	if_setoutputfn(ifp, wg_output);
> 	if_setioctlfn(ifp, wg_ioctl);
> 	if_attach(ifp);

sys/net/if.c:if_attach_internal() (called from if_attach()) requires that
both transmit and qflush must either be NULL or set but if DEV_NETMAP is
undefined, this code only sets qflush, guaranteeing a panic() as soon as a
wg is attached.  Unfortunately, I don't understand the code well enough to
offer a fix.

--=20
Peter Jeremy

--VKAYPSKkzu5Qsqrn
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEE7rKYbDBnHnTmXCJ+FqWXoOSiCzQFAmZti7FfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEVF
QjI5ODZDMzA2NzFFNzRFNjVDMjI3RTE2QTU5N0EwRTRBMjBCMzQACgkQFqWXoOSi
CzSEiA//TFPoTUzp7D01ospWUU3p+6hGfx+PPdQK93abCk483I2yfc8EGONTpDs2
P7KLi0Vd7tlL/EHKKEUThaVwTSXlLPKpgwek1EMyzTILWm+ho6iJhCvJ2gIdP+Ax
sFwCz8NivbHSmL74I9CI1Cm8Q6BThDMkdG8FFb1XsSx5oPnRvq7uJEdi/3PfI0SS
s0DKbHWg6Fsn62m24qYD6J+wuvMXZ5J4PtVSqo2yE7NhPbGcbc826E9YqgBPb/bL
il6LiLx0gVIttQk1J7ct3slH+1kIHazTiXHA0Le00Dtn/3xWAfyHOqYWdPXnpmL3
NmYWIPLqpUJizBAWLDqWMevGGruAdGIIUVDH0SuASY6VXV+i2O77TM0hipvmRYv8
AEZxmORYnZdsi1smzsmqfweZkWh0OK0G5qElkj606nHAIsFLlIA0arNFlfAxz0wm
4MuivBfMcVECzzUjDHK/eqdMP/2hM2EtOFt8ezL0r7VkeAYaGRpn55e+n4nPoQ2G
EndWPLi2yha0SUH5fsGChULY2ljHS3t+eZ2V5ILtWC/R1aDOSNBaT4IN7blTdbDS
cCyLlEpkElmJKNa/jqSowE/s8NR4lX5wQ7VLj+/m2sHzLwaTU8Qcj1uTokHa8oXj
+Dw9upt9j7jP6ztQjHGoACn3gZJrqmHShSoApMNHYa8akvDakbA=
=q27h
-----END PGP SIGNATURE-----

--VKAYPSKkzu5Qsqrn--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Zm2Lv-08-qZHNCjF>