mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Ion Badulescu <ionut@moisil.cs.columbia.edu>
To: umam@delhi.tcs.co.in
Cc: linux-kernel@vger.kernel.org
Subject: Re: VRRP related
Date: Mon, 16 Apr 2001 04:59:46 -0700	[thread overview]
Message-ID: <200104161159.f3GBxkc06110@moisil.dev.hydraweb.com> (raw)
In-Reply-To: <3ADAFC74.3905C4D3@delhi.tcs.co.in>

On Mon, 16 Apr 2001 15:06:44 +0100, umam@delhi.tcs.co.in wrote:
> 
> Hi,
> I am trying to put virtual mac address at the place of physical mac
> address , for that I have overwrite source hardware address with virtual
> address.Now when I try to ping to this machine with some other
> machine.It says request time out.While checking arp -a , gives me
> virtual mac address in ARP-Table instead of physical mac address.I want
> it should give response to ping  also.what I can do????

1. Get a card that accepts non-multicast MAC addresses in its hardware
filter. eepro100, tulip, starfire will do. 3c59x won't (well newer cards
have the capability, but the driver doesn't support it).

2. Apply the attached patch and enable "Ethernet Virtual MAC support".

3. Tell the card about your VMAC using ipmaddr.

The patch slows down the fast receive patch, I know, but I don't see
a way around it. It's against 2.4.recent, I haven't looked at 2.2.

Ion

-- 
  It is better to keep your mouth shut and be thought a fool,
            than to open it and remove all doubt.
-----------------------
--- linux-2.4/net/ethernet/eth.c.old	Tue Nov 14 20:18:52 2000
+++ linux-2.4/net/ethernet/eth.c	Tue Nov 14 20:30:45 2000
@@ -203,8 +203,21 @@
 	 
 	else if(1 /*dev->flags&IFF_PROMISC*/)
 	{
-		if(memcmp(eth->h_dest,dev->dev_addr, ETH_ALEN))
+#ifdef CONFIG_NET_VMAC
+		if (memcmp(eth->h_dest,dev->dev_addr, ETH_ALEN)) {
+			struct dev_mc_list *mc_addr = dev->mc_list;
+			while (mc_addr) {
+				if (memcmp(mc_addr->dmi_addr, dev->dev_addr, ETH_ALEN))
+					goto loose_local;
+				mc_addr = mc_addr->next;
+			}
 			skb->pkt_type=PACKET_OTHERHOST;
+		loose_local:
+		}
+#else  /* not CONFIG_NET_VMAC */
+		if (memcmp(eth->h_dest,dev->dev_addr, ETH_ALEN))
+			skb->pkt_type=PACKET_OTHERHOST;
+#endif /* not CONFIG_NET_VMAC */
 	}
 	
 	if (ntohs(eth->h_proto) >= 1536)
--- linux-2.4/net/Config.in.old	Tue Nov 14 20:29:37 2000
+++ linux-2.4/net/Config.in	Tue Nov 14 20:30:31 2000
@@ -64,6 +64,7 @@
    tristate 'LAPB Data Link Driver (EXPERIMENTAL)' CONFIG_LAPB
    bool '802.2 LLC (EXPERIMENTAL)' CONFIG_LLC
    bool 'Frame Diverter (EXPERIMENTAL)' CONFIG_NET_DIVERT
+   bool 'Ethernet Virtual MAC support (EXPERIMENTAL)' CONFIG_NET_VMAC
 #   if [ "$CONFIG_LLC" = "y" ]; then
 #      bool '  Netbeui (EXPERIMENTAL)' CONFIG_NETBEUI
 #   fi

      parent reply	other threads:[~2001-04-16 12:01 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-04-16 14:06 umam
2001-04-16 10:54 ` Matti Aarnio
2001-04-16 11:59 ` Ion Badulescu [this message]

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=200104161159.f3GBxkc06110@moisil.dev.hydraweb.com \
    --to=ionut@moisil.cs.columbia.edu \
    --cc=linux-kernel@vger.kernel.org \
    --cc=umam@delhi.tcs.co.in \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®