From nobody Wed Dec 15 16:02:36 2021 X-Original-To: ports-bugs@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 61A3818D3841 for ; Wed, 15 Dec 2021 16:02:37 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4JDg4Y1RMxz4bcD for ; Wed, 15 Dec 2021 16:02:37 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D719A1F1B1 for ; Wed, 15 Dec 2021 16:02:36 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org ([127.0.1.5]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id 1BFG2ahp068118 for ; Wed, 15 Dec 2021 16:02:36 GMT (envelope-from bugzilla-noreply@freebsd.org) Received: (from www@localhost) by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 1BFG2anB068117 for ports-bugs@FreeBSD.org; Wed, 15 Dec 2021 16:02:36 GMT (envelope-from bugzilla-noreply@freebsd.org) X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f From: bugzilla-noreply@freebsd.org To: ports-bugs@FreeBSD.org Subject: [Bug 260439] vether-kmod, g20211214 Date: Wed, 15 Dec 2021 16:02:36 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Ports & Packages X-Bugzilla-Component: Individual Port(s) X-Bugzilla-Version: Latest X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Many People X-Bugzilla-Who: henning.matyschok@outlook.com X-Bugzilla-Status: New X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: ports-bugs@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform bug_file_loc op_sys bug_status bug_severity priority component assigned_to reporter cc flagtypes.name attachments.created Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated List-Id: Ports bug reports List-Archive: https://lists.freebsd.org/archives/freebsd-ports-bugs List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-ports-bugs@freebsd.org X-BeenThere: freebsd-ports-bugs@freebsd.org MIME-Version: 1.0 ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1639584157; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bKm8gpxYOz97Rjfsx35xlHd7wqbHDay1gpqb09VIV4g=; b=rJXu5pRIr6rlntiwhRZbe3R6UicCoNXOaLF4eZ3YEMeYpXCJXPEf4qXXXUoV2U2gCwt9lX 4FywmDhbbF3a2vA1wEEE7AvVnho7T8IIFDBDlxo3kSKrUhR4NBaGz+pwRxASPsWSvN9Bq1 9bJ0E0Y3gAxPfhb1rdkwKBLv5uVkB2WVTgAjBvop8SFBlPAFwcIsZl3Q66wXukOosgUZjX asWYDgXm6mcAz4NEMUhjE+iegEbwADWZd4dG7zDcG6I+jzhSNuv7I9ZxHsiwfUnqdxR4Mg Pb/3/TUwVQxEmCetpw37DnvGkyI8td343Aq4OMTmMrNcZlwrALhCOreKBbiNuw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1639584157; a=rsa-sha256; cv=none; b=eOpmOETeP5PQCMwpDMNRQDJI9Weuq6Ki8C4HH4nYWiAl12mQTshmjHlGcTOzTs6DiP8zWZ NjKzW5Z3BZZzMIS2Tc/BTqhQb28AMMykG4/6dKFVqZ5C38/osfFyk8A/02JhK9Hi9+ZzEf Y6WRIZu9EjU+f0Eh4G2iGohFP0pXpneJtTT02TrxFMCmYI2DQbofs3AT+f8Mx8S3vU9SY9 VtybukQboC+srd5kK6TIDN4Kqdz5TEfpedzAEOiMXsi66gGRMDfGLJ9YeknZaPJan21Glu uCz0sTpSf5JPRHDSqV278FNsVYoqd3Poaaf82LLoi8dRhPoOET8cdcvY5+ItOw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D260439 Bug ID: 260439 Summary: vether-kmod, g20211214 Product: Ports & Packages Version: Latest Hardware: Any URL: http://github.com/hmatyschok/if_vether OS: Any Status: New Severity: Affects Many People Priority: --- Component: Individual Port(s) Assignee: ports-bugs@FreeBSD.org Reporter: henning.matyschok@outlook.com CC: bapt@FreeBSD.org, emaste@freebsd.org, gnn@FreeBSD.org, hrs@FreeBSD.org, imp@FreeBSD.org, kevans@freebsd.org, markj@FreeBSD.org, scottl@FreeBSD.org, seanc@FreeBSD.org Attachment #230141 maintainer-approval+ Flags: Created attachment 230141 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D230141&action= =3Dedit Patch against distinfo and Makefile, g20211214 Therfore, update to g20211215, reason: Index: sys/net/if_vether.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- sys/net/if_vether.c (nonexistent) +++ sys/net/if_vether.c (working copy) @@ -0,0 +1,449 @@ +/* + * Copyright (c) 2009 Theo de Raadt + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +/* + * Copyright (c) 2018, 2021 Henning Andersen Matyschok, DARPA/AFRL + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include + +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* + * Virtual Ethernet interface, ported from OpenBSD. This interface + * operates in conjunction with if_bridge(4). + */ + +struct vether_softc { + struct ifmedia sc_ifm; /* fake media information */ + struct ifnet *sc_ifp; /* network interface. */ +}; +#define VETHER_IF_FLAGS (IFF_SIMPLEX|IFF_BROADCAST|IFF_MULTICAST) +#define VETHER_IFCAP_FLAGS (IFCAP_VLAN_MTU|IFCAP_JUMBO_MTU) +#define VETHER_IFM_FLAGS (IFM_ETHER|IFM_AUTO) + +/* + * XXX + * The set of protocol-numbers index-set + * against maps-to set + * over (enum), e. g.: + * + * typedef enum netisr_proto { + * netisr_ip =3D NETISR_IP, + * netisr_igmp =3D NETISR_IGMP, + * netisr_route =3D NETISR_ROUTE, + * netisr_arp =3D NETISR_ARP, + * netisr_ether =3D NETISR_ETHER, + * netisr_ipv6 =3D NETISR_IPV6, + * netisr_epair =3D NETISR_EPAIR, + * netisr_ip_direct =3D NETISR_IP_DIRECT, + * netisr_ipv6_direct =3D NETISR_IPV6_DIRECT, + * netisr_vether =3D NETISR_VETHER_FWD, + * } netisr_proto_t; + */ +#define NETISR_VETHER_FWD 11 + +typedef enum vether_netisr_component { + vether_netisr_fwd =3D NETISR_VETHER_FWD, +} vether_netisr_component_t; + +static void vether_ifaddr_init(struct ifnet *, struct ether_addr *); +static void vether_encap(struct mbuf *); +static void vether_texeof(struct ifnet *); + +static void vether_init(void *); +static void vether_stop(struct ifnet *); +static void vether_start(struct ifnet *); + +static int vether_ifmedia_upd(struct ifnet *); +static void vether_ifmedia_req(struct ifnet *, struct ifmediareq *); +static int vether_ioctl(struct ifnet *, u_long, caddr_t); + +static int vether_clone_create(struct if_clone *, int, caddr_t); +static void vether_clone_destroy(struct ifnet *); + +static struct netisr_handler vether_nh_fwd =3D { + .nh_name =3D "Softintr. for if_vether(4)", + .nh_handler =3D vether_encap, + .nh_proto =3D vether_netisr_fwd, + .nh_policy =3D NETISR_POLICY_FLOW, +}; +static const char vether_name[] =3D "vether"; + +VNET_DEFINE(struct if_clone *, vether_cloner); +#define V_vether_cloner VNET(vether_cloner) + +static int +vether_clone_create(struct if_clone *ifc, int unit, caddr_t data) +{ + struct vether_softc *sc; + struct ifnet *ifp; + struct ether_addr lla; + int up_call; + + /* + * For safety reason, there is a condition test applied - + * independently, if M_WAITOK was enabled or not. + */ + + if ((sc =3D malloc(sizeof(struct vether_softc), + M_DEVBUF, M_WAITOK|M_ZERO)) !=3D NULL) { + + if ((ifp =3D if_alloc(IFT_ETHER)) !=3D NULL) { + sc->sc_ifp =3D ifp; + ifp->if_softc =3D sc; + + if_initname(ifp, vether_name, unit); + + ifp->if_init =3D vether_init; + ifp->if_ioctl =3D vether_ioctl; + ifp->if_start =3D vether_start; + + ifp->if_flags =3D VETHER_IF_FLAGS; + + ifp->if_capabilities =3D VETHER_IFCAP_FLAGS; + ifp->if_capenable =3D VETHER_IFCAP_FLAGS; + + ifp->if_baudrate =3D 0; + + ifmedia_init(&sc->sc_ifm, 0, vether_ifmedia_upd, + vether_ifmedia_req); + ifmedia_add(&sc->sc_ifm, VETHER_IFM_FLAGS, 0, NULL); + ifmedia_set(&sc->sc_ifm, VETHER_IFM_FLAGS); + + vether_ifaddr_init(ifp, &lla); + ether_ifattach(ifp, lla.octet); + + up_call =3D 0; + } else { + up_call =3D ENOSPC; + free(sc, M_DEVBUF); + } + } else + up_call =3D ENOBUFS; + + return (up_call); +} + +static void +vether_clone_destroy(struct ifnet *ifp) +{ + struct vether_softc *sc; + + if (ifp !=3D NULL) { + ifp->if_flags &=3D ~IFF_UP; + + vether_stop(ifp); + + if ((sc =3D ifp->if_softc) !=3D NULL) { + free(sc, M_DEVBUF); + ifp->if_softc =3D NULL; + } + ether_ifdetach(ifp); + if_free(ifp); + } +} + +static void +vnet_vether_init(const void *unused __unused) +{ + + V_vether_cloner =3D if_clone_simple(vether_name, + vether_clone_create, vether_clone_destroy, 0); +} +VNET_SYSINIT(vnet_vether_init, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_ANY, + vnet_vether_init, NULL); + +static void +vnet_vether_uninit(const void *unused __unused) +{ + + if_clone_detach(V_vether_cloner); +} +VNET_SYSUNINIT(vnet_vether_uninit, SI_SUB_PSEUDO, SI_ORDER_ANY, + vnet_vether_uninit, NULL); + +static int +vether_mod_event(module_t mod, int event, void *data) +{ + switch (event) { + case MOD_LOAD: + netisr_register(&vether_nh_fwd); + return (0); + case MOD_UNLOAD: + netisr_unregister(&vether_nh_fwd); + return (0); + default: + break; + } + return (EOPNOTSUPP); +} + +static moduledata_t vether_mod =3D { + "if_vether", + vether_mod_event, + 0, +}; +DECLARE_MODULE(if_vether, vether_mod, SI_SUB_PSEUDO, SI_ORDER_ANY); + +/* + * I/O. + */ + +static void +vether_txeof(struct ifnet *ifp) +{ + struct mbuf *m; + + if (ifp !=3D NULL) { + IFQ_DEQUEUE(&ifp->if_snd, m); + if (m !=3D NULL) { + BPF_MTAP(ifp, m); + + if ((m->m_flags & M_PKTHDR) !=3D 0) { + + /* do some statistics */ + + if_inc_counter(ifp, IFCOUNTER_OBYTES, m->m_pkthdr.len); + if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1); + + /* discard, if not member of if_bridge(4) */ + if (ifp->if_bridge =3D=3D NULL) + m->m_pkthdr.rcvif =3D ifp; + + /* + * Three cases are considered here: + * + * (a) Frame was tx'd by layer above. + * + * (b) Frame was rx'd by link-layer. + * + * (c) Data sink. + */ + if (m->m_pkthdr.rcvif =3D=3D NULL) { + m->m_pkthdr.rcvif =3D ifp; + netisr_dispatch(vether_netisr_fwd, m); + } else if (m->m_pkthdr.rcvif !=3D ifp) { + m->m_pkthdr.rcvif =3D ifp; + + /* demultiplex any other frame */ + (*ifp->if_input)(ifp, m); + } else { + m_freem(m); + m =3D NULL; + } + + } else { + if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); + + m_freem(m); + m =3D NULL; + } + vether_txeof(ifp); + } + } +} + +static void +vether_start(struct ifnet *ifp) +{ + if ((ifp->if_flags & IFF_UP) !=3D 0) { + ifp->if_drv_flags |=3D IFF_DRV_OACTIVE; + vether_txeof(ifp); + ifp->if_drv_flags &=3D ~IFF_DRV_OACTIVE; + } +} + +/* + * Broadcast frame by if_bridge(4). + */ + +static void +vether_encap(struct mbuf *m) +{ + struct ifnet *ifp; + int up_call; + + if (m !=3D NULL) { + + if ((m->m_flags & M_PKTHDR) !=3D 0) { + + if ((ifp =3D m->m_pkthdr.rcvif) !=3D NULL) { + + if (ifp->if_mtu > m->m_pkthdr.len) + m_freem(m); + else { + BRIDGE_OUTPUT(ifp, m, up_call); + + if (up_call !=3D 0) + m_freem(m); + } + } else + m_freem(m); + } else + m_freem(m); + } +} + +/* + * Initialize lla. + */ + +static void +vether_ifaddr_init(struct ifnet *ifp, struct ether_addr *lla) +{ + caddr_t pfx, sfx; + + if (ifp !=3D NULL) { + + if (lla !=3D NULL) { + pfx =3D lla->octet; + pfx[0] =3D 0x02; + + sfx =3D (pfx + 1); + arc4rand(sfx, 5, 0); + } + } +} + +static int +vether_ifmedia_upd(struct ifnet *ifp) +{ + int up_call; + + if (ifp !=3D NULL) + up_call =3D 0; + else + up_call =3D EADDRNOTAVAIL; + + return (up_call); +} + +static void +vether_ifmedia_req(struct ifnet *ifp, struct ifmediareq *ifm) +{ + if (ifp !=3D NULL) { + + if (ifm !=3D NULL) { + ifm->ifm_active =3D (IFM_ETHER|IFM_AUTO); + ifm->ifm_status =3D (IFM_AVALID|IFM_ACTIVE); + } + } +} + +static void +vether_init(void *xsc) +{ + struct vether_softc *sc; + struct ifnet *ifp; + + if ((sc =3D (struct vether_softc *)xsc) !=3D NULL) { + + if ((ifp =3D sc->sc_ifp) !=3D NULL) { + ifp->if_drv_flags |=3D IFF_DRV_RUNNING; + ifp->if_drv_flags &=3D ~IFF_DRV_OACTIVE; + } + } +} + +static void +vether_stop(struct ifnet *ifp) +{ + if (ifp !=3D NULL) + ifp->if_drv_flags &=3D ~(IFF_DRV_RUNNING|IFF_DRV_OACTIVE); +} + +static int +vether_ioctl(struct ifnet *ifp, u_long req, caddr_t argp) +{ + struct vether_softc *sc; + struct ifreq *ifr; + int up_call; + + if (ifp !=3D NULL) { + + if ((sc =3D ifp->if_softc) !=3D NULL) { + ifr =3D (struct ifreq *)argp; + + switch (req) { + case SIOCSIFMTU: + if (ifr->ifr_mtu < ETHER_MAX_LEN_JUMBO) { + ifp->if_mtu =3D ifr->ifr_mtu; + up_call =3D 0; + } else + up_call =3D EINVAL; + break; + case SIOCSIFMEDIA: /* Media types can't be changed. */ + case SIOCGIFMEDIA: + up_call =3D ifmedia_ioctl(ifp, ifr, &sc->sc_ifm, req); + break; + case SIOCSIFFLAGS: + case SIOCADDMULTI: + case SIOCDELMULTI: + up_call =3D 0; + break; + case SIOCSIFPHYS: + up_call =3D EOPNOTSUPP; + break; + default: + up_call =3D ether_ioctl(ifp, req, argp); + break; + } + } else + up_call =3D ENXIO; + } else + up_call =3D ENOTTY; + + return (up_call); +} Resursively dequeuement of mbuf{}s against (if_snd, ifnet{}) enqueued Frames during runtime of ((if_start, ifnet{}), vether_start(9)) and vether_txeof(9= ). Finally, cond.-tests against mtu over (if_mtu, ifnet{}), prformend by netisr(4)-component provided softintr., etc.. Therefore, this operation results in present patch: diff --git a/net/vether-kmod/Makefile b/net/vether-kmod/Makefile index 51dc96828b5b..eed42ad4a065 100644 --- a/net/vether-kmod/Makefile +++ b/net/vether-kmod/Makefile @@ -1,8 +1,8 @@ PORTNAME=3D vether-kmod -DISTVERSION=3D g20190422 +DISTVERSION=3D g20211214 CATEGORIES=3D net -MAINTAINER=3D henning.matyschok@outlook.com +MAINTAINER=3D publicweb@us.af.mil COMMENT=3D Virtual Ethernet Interface LICENSE=3D BSD2CLAUSE ISCL @@ -13,7 +13,7 @@ USES=3D kmod uidfix USE_GITHUB=3D yes GH_ACCOUNT=3D hmatyschok GH_PROJECT=3D if_vether -GH_TAGNAME=3D ecc91f865218f2bb85521b285c8f7f81198aa553 +GH_TAGNAME=3D 511ee3b393029cfff0c5b1873fe0a16f077a7459 PLIST_FILES=3D ${KMODDIR}/if_vether.ko \ man/man4/if_vether.4.gz \ diff --git a/net/vether-kmod/distinfo b/net/vether-kmod/distinfo index 4d14d86a02bc..9b59f036d5d4 100644 --- a/net/vether-kmod/distinfo +++ b/net/vether-kmod/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP =3D 1555928075 -SHA256 (hmatyschok-if_vether-g20190422-ecc91f865218f2bb85521b285c8f7f81198aa553_GH= 0.tar.gz) =3D 85b4280715707734bac06cf8d950a11b6cd6f4ff8a2b61c684e16c86f92f5f7d -SIZE (hmatyschok-if_vether-g20190422-ecc91f865218f2bb85521b285c8f7f81198aa553_GH= 0.tar.gz) =3D 7015 +TIMESTAMP =3D 1639499475 +SHA256 (hmatyschok-if_vether-g20211214-511ee3b393029cfff0c5b1873fe0a16f077a7459_GH= 0.tar.gz) =3D a97a5fd68d6f13f6114fcadd0d5ef59766b8e088466b8c33e5fd035bc08edaf8 +SIZE (hmatyschok-if_vether-g20211214-511ee3b393029cfff0c5b1873fe0a16f077a7459_GH= 0.tar.gz) =3D 7936 and Index: net/vether-kmod/Makefile =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- net/vether-kmod/Makefile (revision 569609) +++ net/vether-kmod/Makefile (working copy) @@ -1,10 +1,8 @@ -# $FreeBSD$ - PORTNAME=3D vether-kmod -DISTVERSION=3D g20190422 +DISTVERSION=3D g20211214 CATEGORIES=3D net -MAINTAINER=3D henning.matyschok@outlook.com +MAINTAINER=3D publicweb@us.af.mil COMMENT=3D Virtual Ethernet Interface LICENSE=3D BSD2CLAUSE ISCL @@ -15,7 +13,7 @@ USE_GITHUB=3D yes GH_ACCOUNT=3D hmatyschok GH_PROJECT=3D if_vether -GH_TAGNAME=3D ecc91f865218f2bb85521b285c8f7f81198aa553 +GH_TAGNAME=3D 511ee3b393029cfff0c5b1873fe0a16f077a7459 PLIST_FILES=3D ${KMODDIR}/if_vether.ko \ man/man4/if_vether.4.gz \ Index: net/vether-kmod/distinfo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- net/vether-kmod/distinfo (revision 569609) +++ net/vether-kmod/distinfo (working copy) @@ -1,3 +1,3 @@ -TIMESTAMP =3D 1555928075 -SHA256 (hmatyschok-if_vether-g20190422-ecc91f865218f2bb85521b285c8f7f81198aa553_GH= 0.tar.gz) =3D 85b4280715707734bac06cf8d950a11b6cd6f4ff8a2b61c684e16c86f92f5f7d -SIZE (hmatyschok-if_vether-g20190422-ecc91f865218f2bb85521b285c8f7f81198aa553_GH= 0.tar.gz) =3D 7015 +TIMESTAMP =3D 1639502634 +SHA256 (hmatyschok-if_vether-g20211214-511ee3b393029cfff0c5b1873fe0a16f077a7459_GH= 0.tar.gz) =3D a97a5fd68d6f13f6114fcadd0d5ef59766b8e088466b8c33e5fd035bc08edaf8 +SIZE (hmatyschok-if_vether-g20211214-511ee3b393029cfff0c5b1873fe0a16f077a7459_GH= 0.tar.gz) =3D 7936 Any duplicate work still invalidated and / or obsoleted by g20211214 in conjuction with reason, as stated before. Henning Andersen Matyschok, 120179M11214, USAF United States Air-force (USAF) Henning Andersen Matyschok Wasserlooser Weg 5 Flensburg 24944 Germany --=20 You are receiving this mail because: You are the assignee for the bug.=