[strongSwan-dev] Proxy ARP plugin farp or FreeBSD

Dr. Rolf Jansen rj at obsigna.com
Tue Sep 30 22:20:03 CEST 2014

I got strongsSwan 5.2.0 installed on FreeBSD 10-RELEASE from the ports.

On Linux, Charon can provide proxy arp for its clients by the way of the farp plugin. On FreeBSD, this plugin is disabled because it has been developed for Linux only.

I began with the first steps to port said plugin to FreeBSD. In file farp_spoofer.c, I changed the Linux specific #include's to the respective FreeBSD counterparts:

<linux/if_arp.h>  to  <net/if_arp.h>
<linux/if_ether.h>  to  <netinet/if_ether.h>
<linux/filter.h>  to  <net/bpf.h>

And for the link layer queries I added
#include <net/if.h>
#include <net/if_dl.h>

Note, I didn't expect this to work right away, and before I continue with the real work, i.e. adapting the various queries and the rules of the Berkeley Packet Filter to FreeBSD, I would like to ask 2 questions:

1. Did somebody port already the farp plugin to *BSD or perhaps to Mac OS X?
    -- I don't want to re-invent the wheel.

2. Is it feasible at all, or would proxy arp on FreeBSD not work in a similar manner as on Linux?

Best regards

Rolf Jansen

More information about the Dev mailing list