On Sat, Feb 12, 2011 at 12:28 PM, Da Rock < freebsd-hack...@herveybayaustralia.com.au> wrote:
> On 02/12/11 19:39, Gary Jennejohn wrote: > >> On Fri, 11 Feb 2011 17:19:17 -0800 >> Julian Elischer<jul...@freebsd.org> wrote: >> >> >> >>> On 2/11/11 4:03 PM, Da Rock wrote: >>> >>> >>>> Unfortunately this software uses this family instead of pcap or bpf. >>>> So when built it errors. >>>> >>>> I guess if I am to use this app I will have to rewrite the way it >>>> uses the network stack. >>>> >>>> >>> l2tp runs over UDP packets (port 1701 (like the starship enterprise)) >>> I have no idea why they want raw packets. >>> >>> >>> >> Ther's a sendarp() routine which uses PF_PACKET to directly access the >> network driver and bypass the stack. Lazy Linuxers who have no idea >> or don't care that other operating systems exist. >> >> >> > Indeed. Is it possible to leverage another compatible routine? I haven't > had a look yet as I just read the message, but can I (after checking return > values and arguments) just drop in another arp routine? Or are they simply > incompatible across the board? > > From what I understand they should all be essentially doing the same thing, > but I could be wrong on this. Alternatively would I have to basically > rewrite the arp.c to be posix compatible (for portability)? > > Cheers > You only need to rewrite the sendarp() routine, using a BPF device descriptor instead of the PF_PACKET socket descriptor. Take a look at libdnet[1] and rbootd[2]'s source. [1] http://libdnet.sf.net/ [2] http://ftp.fr.openbsd.org/pub/OpenBSD/src/usr.sbin/rbootd/ You will need, however, to fill the source with #ifdefs to compensate the fact that Linux has assigned different names and sizes to the members of struct ether_header and arphdr (and has a _BSD_SOURCE knob to accomodate compiling BSD-based software).* * -- Good, fast & cheap. Pick any two. _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"