title: How to provide destination MAC address to socket
body: <p>I have an application on my linux host that communicates via UDP to another machine via 10G ethernet. The machine on the other end does not respond to ARP requests. I am able to get it's MAC address through other means (a different interface, on </p>
  
  <p>Is there a way to programmatically get this information into the arp table w/out privileged status?</p>
  
  <p>I know I can on a command line issue "sudo arp -s 1.2.3.4 AA:BB:CC:DD:EE:FF" every time I power it up.</p>
  
  <p>I know I can add "1.2.3.4 AA:BB:CC:DD:EE:FF" to etc/ethers</p>
  
  <p>I know that as a priviledged usr/process I can issue an ioctl to SIOCSARP.</p>
  
  <p>All of these mechanism's require sudo/root access. I read something about giving the application "CAP_NET_ADMIN" permissions.</p>
  
  <p>I'm looking for this capability so that the end users don't need to do any of the above. It seems like, If I, w/out sudo/root, can open a socket that determines the need for this network information, there should be a way for me, w/out sudo/root, to provide it.</p>