• Herbert Xu's avatar
    [IPV4]: Fix "Proxy ARP seems broken" · 444fc8fc
    Herbert Xu authored
    Meelis Roos <mroos@linux.ee> wrote:
    > RK> My firewall setup relies on proxyarp working.  However, with 2.6.14-rc3,
    > RK> it appears to be completely broken.  The firewall is 212.18.232.186,
    > 
    > Same here with some kernel between 14-rc2 and 14-rc3 - no reposnse to
    > ARP on a proxyarp gateway. Sorry, no exact revison and no more debugging
    > yet since it'a a production gateway.
    
    The breakage is caused by the change to use the CB area for flagging
    whether a packet has been queued due to proxy_delay.  This area gets
    cleared every time arp_rcv gets called.  Unfortunately packets delayed
    due to proxy_delay also go through arp_rcv when they are reprocessed.
    
    In fact, I can't think of a reason why delayed proxy packets should go
    through netfilter again at all.  So the easiest solution is to bypass
    that and go straight to arp_process.
    
    This is essentially what would've happened before netfilter support
    was added to ARP.
    
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> 
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    444fc8fc
arp.c 34.5 KB