title: Send UDP packet, not using ARP, known IP and MAC
body: <p>I am trying to send UDP over a network to a microcontroller. The microcontroller has had almost all of the IP stack stripped out to keep it lean, so cannot engage in ARP.
  The microcontroller is outputting broadcast packets, which I can receive so I know its IP address and MAC address. 
  I can send broadcast UDP packets to it, which it receives fine, but when I try to send packets using its IP address, I can see ARP messages in wireshark, "Who has 192.168.1.205? Tell 192.168.1.18", 205 being the micro, 18 is my PC. The micro does not respond with its MAC address, so I cant send the packet, but I know the MAC address from the packets the micro is sending out anyway.</p>
  
  <p>So my question is can I specify the IP and MAC address using the UdpClient so it does not need to use ARP.. is there anything else I'm not considering?</p>
  
  <p>The broadcast method that works looks like this:</p>
  
  <pre><code>myUdpClient.EnableBroadcast = true;
  myUdpClient.Connect(IPAddress.Broadcast, port);
  myUdpClient.Send(dataBytes, dataBytes.Length);
  </code></pre>
  
  <p>The fixed IP method that doesnt currently work looks like this</p>
  
  <pre><code>IPEndPoint ep = new IPEndPoint("192.168.1.205", port);
  myUdpClient.Send(dataBytes, dataBytes.Length, ep);
  </code></pre>
  
  <p>I have looked at using things like</p>
  
  <pre><code>myUdpClient.Client.SendTo(dataBytes, SocketFlags.DontRoute, ep);
  </code></pre>
  
  <p>but this doesnt work, and is still not making use of the microcontrollers MAC address.. which my application knows and needs to use (I think). I was also hoping some ARP table on the network would have known where the MAC address was seeing as packets with this info are being sent from it.. </p>
  
  <p>As a note, I want to keep broadcast to a minimum to reduce the load on other microcontrollers on the network. </p>
  
  <p>Thanks in advance, 
  Gareth</p>