Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am currently running coLinux configured in "ndis-bridged" networking mode, on a machine whose wireless networking card or driver seems incapable or unwilling to accept non-broadcast layer 2 traffic, or traffic not destined for the wireless card's primary MAC address.

After figuring out this was the problem, I tried configuring the coLinux interface to have the same MAC address as the host machine. Magically, networking started to function. Unfortunately only a single problem remains: the host machine cannot talk to the coLinux instance, even though the rest of the LAN can.

I figured out that by adding a static ARP entry to the host for the coLinux instance's IP address(es), I could accomplish full connectivity in bridged mode, even though the wireless card/driver didn't want to play along.

Despite the hackishness of this setup, I would like to keep it for a few reasons, primarily of which is IO performance for the coLinux instance. This brings me to a problem: persisting the ARP entries on the host machine.

I have searched the web, but have been unable to find the WinNT equivalent of /etc/arp from UNIX. Does such a file exist? I suspected somewhere in the registry, but alas, my searches thus far have been fruitless.

My only alternative is to run a batch file at startup to recreate the ARP entries using the arp command line tool, but this, ironically, seems hackish. :)


share|improve this question
up vote 3 down vote accepted

netsh interface ipv4 add neighbors "Local Area Connection" 12-34-56-78-9a-bc

this will create a static arp entry that survives reboots. be careful adding the routes though, as you may not be able to remove them without a hotfix:

share|improve this answer
5 years later! Thanks :) – David Wilson Apr 17 '15 at 20:45
:) i couldn't resist – goofology Apr 24 '15 at 14:25

There is no built-in mechanism for persistent ARP entries in Windows. Your best bet is to use a Startup Script to specify the necessary static ARP entries on each boot.

share|improve this answer
FYI this is incorrect as of Windows Vista. see my answer below. – goofology Apr 16 '15 at 0:39

You should be able to use arp -s command in order to add a static entry to the ARP table

arp -s 00-aa-00-62-c6-09 .... Adds a static entry.

share|improve this answer
Hi Conor, this command only creates an entry for the lifetime of the running machine. It does not persist across reboots, at least as far as I can tell. :) – David Wilson Jan 14 '10 at 17:03

The problem with NDIS drivers is they add an additional layer between the OS and the network card making things like working at the layer2 level difficult (particularly with wireless cards). In looking at the coLinux website( they recommend using 2 virtual interfaces: One for coLinux to communicate with the LAN and one for coLinux to communicate with the host. Have you considered this configuration?

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.