Hi all, I am looking at a case to see how Linux handles a (broadcast) packet NOT meant for the machine, that somehow gets to ip_rcv() obviously through non-Ethernet hardware e.g. over a serial link. I have spent some time trying to understanding the ip_rcv_finish() and ip_route_input() code and it seems that it just sets the flags for REDIRECT and calls ip_forward(). ---------- snippet of ip_route_input_slow() in route.c ------------- if (out_dev == in_dev && err && !(flags & (RTCF_NAT | RTCF_MASQ)) && (IN_DEV_SHARED_MEDIA(out_dev) || inet_addr_onlink(out_dev, saddr, FIB_RES_GW(res)))) flags |= RTCF_DOREDIRECT; -------------------------------------------------------------------- Thus, the packet is sent out over the incoming interface and a ICMP redirect is sent. Is this understanding correct? TIA. Regards, Amit -- ---------------------------------------------------------------------- Amit Kucheria akucheria@ NOSPAM metricsystems.com Metric Systems Corp. 2320 Cousteau Court, Suite 201, Vista, CA 92083 ---------------------------------------------------------------------- - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html