On Sat, Nov 21, 2015 at 04:22:51PM +0100, Momtchil Momtchev wrote: > Hello, > > Sorry for what may appear to be a strange question, but shouldn't there > be a check against IFBIF_BLOCKNONIP in bridge_output() in > sys/net/if_bridge.c? >
Why? bridge_output() is used for packets that are sent from local interfaces. I think you should be aware if you're running any non-IP service on your OpenBSD machine. I think your change would also break bridge_send_icmp_err() with IFBIF_BLOCKNONIP, which is used by bridge_ipsec() and bridge_fragment(). blocknonip and tunnels are not uncommon. btw., what OpenBSD version is this diff for? This is not -current. Reyk > Something like this : > > --- if_bridge.c.orig Tue Jul 21 00:54:29 2015 > +++ if_bridge.c Sat Nov 21 16:05:12 2015 > @@ -1051,6 +1051,10 @@ > (m->m_flags & (M_BCAST | M_MCAST)) == 0) > continue; > > + if (p->bif_flags & IFBIF_BLOCKNONIP && > bridge_blocknonip(eh, m)) { > + continue; > + } > + > if (IF_QFULL(&dst_if->if_snd)) { > IF_DROP(&dst_if->if_snd); > sc->sc_if.if_oerrors++; > --