Source-Changes-D archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/sys/net
On Sat, Apr 04, 2009 at 09:04:36PM +0900, Masao Uebayashi wrote:
> Sorry for delayed review.
>
> > @@ -410,6 +419,10 @@
> > /* Tear down the routing table. */
> > bridge_rtable_fini(sc);
> >
> > +
> > +
> > + softint_disestablish(sc->sc_softintr);
> > +
> > free(sc, M_DEVBUF);
> >
> > return (0);
>
> Please trim these blank lines.
Done
>
> > @@ -1305,124 +1318,139 @@
> > * The forwarding function of the bridge.
> > */
> > static void
> > -bridge_forward(struct bridge_softc *sc, struct mbuf *m)
> > +bridge_forward(void *v)
> > {
> > + struct bridge_softc *sc = v;
> > + struct mbuf *m;
> > struct bridge_iflist *bif;
> > struct ifnet *src_if, *dst_if;
> > struct ether_header *eh;
> > + int s;
> >
>
> I think you have to take softnet_lock, since bridge_forward() is called from
> softint where not lock is held.
Added, thanks
>
> > - src_if = m->m_pkthdr.rcvif;
> > + if ((sc->sc_if.if_flags & IFF_RUNNING) == 0)
> > + return;
> >
> > - sc->sc_if.if_ipackets++;
> > - sc->sc_if.if_ibytes += m->m_pkthdr.len;
> > + s = splbio();
> > + while (1) {
> > + IFQ_POLL(&sc->sc_if.if_snd, m);
> > + if (m == NULL)
> > + break;
> > + IFQ_DEQUEUE(&sc->sc_if.if_snd, m);
> >
>
> Why splbio(), not splnet()???
typo, fixed.
thanks !
--
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
NetBSD: 26 ans d'experience feront toujours la difference
--
Home |
Main Index |
Thread Index |
Old Index