Some pseudo interfaces have missing `IFXF_CLONED' flag. Diff below fixes
this.

Index: sys/net/if_ppp.c
===================================================================
RCS file: /cvs/src/sys/net/if_ppp.c,v
retrieving revision 1.114
diff -u -p -r1.114 if_ppp.c
--- sys/net/if_ppp.c    24 Jun 2020 22:03:42 -0000      1.114
+++ sys/net/if_ppp.c    10 Jul 2020 11:57:39 -0000
@@ -220,6 +220,7 @@ ppp_clone_create(struct if_clone *ifc, i
        sc->sc_if.if_output = pppoutput;
        sc->sc_if.if_start = ppp_ifstart;
        sc->sc_if.if_rtrequest = p2p_rtrequest;
+       sc->sc_if.if_xflags = IFXF_CLONED;
        IFQ_SET_MAXLEN(&sc->sc_if.if_snd, IFQ_MAXLEN);
        mq_init(&sc->sc_inq, IFQ_MAXLEN, IPL_NET);
        ppp_pkt_list_init(&sc->sc_rawq, IFQ_MAXLEN);
Index: sys/net/if_pppoe.c
===================================================================
RCS file: /cvs/src/sys/net/if_pppoe.c,v
retrieving revision 1.68
diff -u -p -r1.68 if_pppoe.c
--- sys/net/if_pppoe.c  16 Jun 2019 00:10:37 -0000      1.68
+++ sys/net/if_pppoe.c  10 Jul 2020 11:57:39 -0000
@@ -210,6 +210,7 @@ pppoe_clone_create(struct if_clone *ifc,
        sc->sc_sppp.pp_if.if_ioctl = pppoe_ioctl;
        sc->sc_sppp.pp_if.if_start = pppoe_start;
        sc->sc_sppp.pp_if.if_rtrequest = p2p_rtrequest;
+       sc->sc_sppp.pp_if.if_xflags = IFXF_CLONED;
        sc->sc_sppp.pp_tls = pppoe_tls;
        sc->sc_sppp.pp_tlf = pppoe_tlf;
        IFQ_SET_MAXLEN(&sc->sc_sppp.pp_if.if_snd, IFQ_MAXLEN);
Index: sys/net/if_switch.c
===================================================================
RCS file: /cvs/src/sys/net/if_switch.c,v
retrieving revision 1.30
diff -u -p -r1.30 if_switch.c
--- sys/net/if_switch.c 6 Nov 2019 03:51:26 -0000       1.30
+++ sys/net/if_switch.c 10 Jul 2020 11:57:39 -0000
@@ -159,6 +159,7 @@ switch_clone_create(struct if_clone *ifc
        ifp->if_start = NULL;
        ifp->if_type = IFT_BRIDGE;
        ifp->if_hdrlen = ETHER_HDR_LEN;
+       ifp->if_xflags = IFXF_CLONED;
        TAILQ_INIT(&sc->sc_swpo_list);
 
        sc->sc_unit = unit;
Index: sys/net/if_trunk.c
===================================================================
RCS file: /cvs/src/sys/net/if_trunk.c,v
retrieving revision 1.146
diff -u -p -r1.146 if_trunk.c
--- sys/net/if_trunk.c  17 Jun 2020 06:45:22 -0000      1.146
+++ sys/net/if_trunk.c  10 Jul 2020 11:57:39 -0000
@@ -184,6 +184,7 @@ trunk_clone_create(struct if_clone *ifc,
        ifp->if_ioctl = trunk_ioctl;
        ifp->if_flags = IFF_SIMPLEX | IFF_BROADCAST | IFF_MULTICAST;
        ifp->if_capabilities = trunk_capabilities(tr);
+       ifp->if_xflags = IFXF_CLONED;
 
        snprintf(ifp->if_xname, sizeof(ifp->if_xname), "%s%d",
            ifc->ifc_name, unit);
Index: sys/net/if_tun.c
===================================================================
RCS file: /cvs/src/sys/net/if_tun.c,v
retrieving revision 1.222
diff -u -p -r1.222 if_tun.c
--- sys/net/if_tun.c    13 May 2020 00:48:06 -0000      1.222
+++ sys/net/if_tun.c    10 Jul 2020 11:57:39 -0000
@@ -236,6 +236,7 @@ tun_create(struct if_clone *ifc, int uni
        ifp->if_hardmtu = TUNMRU;
        ifp->if_link_state = LINK_STATE_DOWN;
        IFQ_SET_MAXLEN(&ifp->if_snd, IFQ_MAXLEN);
+       ifp->if_xflags = IFXF_CLONED;
 
        if_counters_alloc(ifp);
 
Index: sys/net/if_vether.c
===================================================================
RCS file: /cvs/src/sys/net/if_vether.c,v
retrieving revision 1.30
diff -u -p -r1.30 if_vether.c
--- sys/net/if_vether.c 9 Jan 2018 15:24:24 -0000       1.30
+++ sys/net/if_vether.c 10 Jul 2020 11:57:39 -0000
@@ -88,6 +88,7 @@ vether_clone_create(struct if_clone *ifc
 
        ifp->if_hardmtu = ETHER_MAX_HARDMTU_LEN;
        ifp->if_capabilities = IFCAP_VLAN_MTU;
+       ifp->if_xflags = IFXF_CLONED;
 
        ifmedia_init(&sc->sc_media, 0, vether_media_change,
            vether_media_status);
Index: sys/net/if_vxlan.c
===================================================================
RCS file: /cvs/src/sys/net/if_vxlan.c,v
retrieving revision 1.77
diff -u -p -r1.77 if_vxlan.c
--- sys/net/if_vxlan.c  12 Apr 2020 11:56:52 -0000      1.77
+++ sys/net/if_vxlan.c  10 Jul 2020 11:57:39 -0000
@@ -155,6 +155,7 @@ vxlan_clone_create(struct if_clone *ifc,
 
        ifp->if_hardmtu = ETHER_MAX_HARDMTU_LEN;
        ifp->if_capabilities = IFCAP_VLAN_MTU;
+       ifp->if_xflags = IFXF_CLONED;
 
        ifmedia_init(&sc->sc_media, 0, vxlan_media_change,
            vxlan_media_status);

Reply via email to