All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bernd Eckenfels <inka-user@lina.inka.de>
To: linux-kernel@vger.kernel.org
Subject: Re: Turning off ARP in linux-2.4.0
Date: Wed, 24 Jan 2001 05:02:17 +0100	[thread overview]
Message-ID: <E14LH8T-00033R-00@sites.inka.de> (raw)

In article <20010124011011.A12252@gruyere.muc.suse.de> you wrote:
> The snippet you posted doesn't describe what ClusterThingy exactly wants
> to do with ARPs. 

Andi, it is simple. There are 3 machines on one net with the same IP Address.
Two of them run a web server and one of them a packet redirector. The packet
redirector will ARP for the address. Receive the packet from the Border router
and put it back on the wire destinated to one of the both other systems. The
other systems will receive it and process it with the OS stack, respond back
to the server. That way the load balancer only needs to pass 2-3 packets for
each http request in usermode to the load balanced servers.

/usr/src/linux-2.4.0/net/ipv4/arp.c

void arp_send(int type, int ptype, u32 dest_ip, 
              struct net_device *dev, u32 src_ip, 
              unsigned char *dest_hw, unsigned char *src_hw,
              unsigned char *target_hw)
{
        struct sk_buff *skb;
        struct arphdr *arp;
        unsigned char *arp_ptr;

        /*
         *      No arp on this interface.
         */
        
        if (dev->flags&IFF_NOARP)
                return;

and


/*
 *      The hardware length of the packet should match the hardware length
 *      of the device.  Similarly, the hardware types should match.  The
 *      device should be ARP-able.  Also, if pln is not 4, then the lookup
 *      is not from an IP number.  We can't currently handle this, so toss
 *      it. 
 */  
        if (in_dev == NULL ||
            arp->ar_hln != dev->addr_len    || 
            dev->flags & IFF_NOARP ||
            skb->pkt_type == PACKET_OTHERHOST ||
            skb->pkt_type == PACKET_LOOPBACK ||
            arp->ar_pln != 4)
                goto out;

Greetings
Bernd
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

             reply	other threads:[~2001-01-24  4:02 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-01-24  4:02 Bernd Eckenfels [this message]
  -- strict thread matches above, loose matches on Subject: below --
2001-01-25 11:02 Turning off ARP in linux-2.4.0 Julian Anastasov
2001-01-25 17:08 ` Bernd Eckenfels
2001-01-25 23:13   ` Julian Anastasov
2001-01-25  0:19 Julian Anastasov
2001-01-25  0:08 Bernd Eckenfels
2001-01-24  9:21 Julian Anastasov
2001-01-25  0:30 ` Pete Elton
2001-01-24  8:32 Bernd Eckenfels
2001-01-24  4:07 Bernd Eckenfels
2001-01-23 13:19 NDias
2001-01-23  0:50 Bernd Eckenfels
2001-01-23  9:08 ` Andi Kleen
2001-01-23 23:50   ` Pete Elton
2001-01-24  0:10     ` Andi Kleen
2001-01-24  0:27       ` Pete Elton
2001-01-24  0:38         ` Andi Kleen
2001-01-24  0:49           ` Pete Elton
2001-01-22 20:59 Pete Elton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E14LH8T-00033R-00@sites.inka.de \
    --to=inka-user@lina.inka.de \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.