| To: | linux-net@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxx |
|---|---|
| Subject: | Suggestion to Improve delivery to local destinations |
| From: | "Narik Alatees" <yedok@xxxxxxxxxxx> |
| Date: | Wed, 20 Aug 2003 08:03:58 -0700 |
| Cc: | kuznet@xxxxxxxxxxxxx, davem@xxxxxxxxxx |
| Sender: | netdev-bounce@xxxxxxxxxxx |
Currently ip_route_output_slow() sets rth->u.dst.output = ip_output; And
then there is this line in the same function:if (flags & RTCF_LOCAL) {
rth->u.dst.input = ip_local_deliver;
rth->rt_spec_dst = fl.fl4_dst;
}Basically what this means is that when the user calls skb->dst->output(), neighbour resolution would be implicitly performed. And at the time of actually sending an ARP request for link layer address the transmission is bypassed (due to the check in neigh_event_send()) and a dummy neighbour entry for the loopback device is constructured. I propose that in the above code fragment rth->u.dst.output be changed to ip_dev_loopback_xmit() (much like what happens inside of ip_mc_output()). I think this would _significantly_ improve performance in the delivery-to-local-destination case. What do you think? tx yedok _________________________________________________________________ <b>Get MSN 8</b> and help protect your children with advanced parental controls. http://join.msn.com/?page=features/parental |
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | RE: [2.4 PATCH] bugfix: ARP respond on all devices, Richard Underwood |
|---|---|
| Next by Date: | RE: [2.4 PATCH] bugfix: ARP respond on all devices, jamal |
| Previous by Thread: | [PATCH] IPv6: Protect proxied addresses against DAD, Ville Nuorvala |
| Next by Thread: | Best way to hook incoming eth pkts?, Jeff Garzik |
| Indexes: | [Date] [Thread] [Top] [All Lists] |