In message <20030723115128.0d943390.davem@redhat.com> you write: > if (ip_route_output_key(&rt, &fl) !=3D 0) { > /* Shouldn't happen */ > printk("MASQUERADE: No route: Rusty's brain broke!\n"); > return NF_DROP; > } > > Whell... it happened. > > Jul 23 07:51:42 localhost kernel: MASQUERADE: No route: Rusty's brain broke! > Jul 23 07:51:43 localhost kernel: MASQUERADE: No route: Rusty's brain broke! > Jul 23 07:51:44 localhost kernel: MASQUERADE: No route: Rusty's brain broke! > > (root@rtr)/var/log$grep Rusty syslog | wc -l > 136451 > (root@rtr)/var/log$ > > And it seems that it's quite often. > > Can you tell me what else should I tell you to help debug that problem? Hmm, what's your routing setup? And what kernel? It's possible with wierd setups, like source routing. The point is that the packet got routed to start with: for most people the second lookup should not fail. Here's the code: struct flowi fl = { .nl_u = { .ip4_u = { .daddr = (*pskb)->nh.iph->daddr, .tos = (RT_TOS((*pskb)->nh.iph->tos) | RTO_CONN), #ifdef CONFIG_IP_ROUTE_FWMARK .fwmark = (*pskb)->nfmark #endif } }, .oif = out->ifindex }; if (ip_route_output_key(&rt, &fl) != 0) { /* Shouldn't happen */ printk("MASQUERADE: No route: Rusty's brain broke!\n"); return NF_DROP; } Rusty. -- Anyone who quotes me in their sig is an idiot. -- Rusty Russell. - : 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