On Wednesday, May 22, 2013 10:53:29 am Andre Oppermann wrote: > On 22.05.2013 14:58, Luigi Rizzo wrote: > > if_ethersubr.c :: ether_input_internal() is only called as follows: > > > > static void > > ether_nh_input(struct mbuf *m) > > { > > > > ether_input_internal(m->m_pkthdr.rcvif, m); > > } > > > > hence the following checks in the body are unnecessary: > > > > if (m->m_pkthdr.rcvif == NULL) { > > if_printf(ifp, "discard frame w/o interface pointer\n"); > > ifp->if_ierrors++; > > m_freem(m); > > return; > > } > > #ifdef DIAGNOSTIC > > if (m->m_pkthdr.rcvif != ifp) { > > if_printf(ifp, "Warning, frame marked as received on %s\n", > > m->m_pkthdr.rcvif->if_xname); > > } > > #endif > > > > Any objection if i remove them ? > > No, but they should remain as KASSERTs. None of these should trigger in > production and all of them are an indication that something is very wrong > with the packet or the caller.
Eh, but if the only caller is ether_nh_input() then by definition you know that m->m_pkthdr.rcvif == ifp. -- John Baldwin _______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"