cffi-udp

A Common Lisp library for doing fast UDP networking on Linux with full IP_RECVERR functionality

Introduction

cffi-udp is an ASDF-installable library for doing UDP networking on Linux with full support for the Linux kernel's IP_RECVERR (ICMP and other) error detection functionality. This allows one to quickly retrieve information from ICMP replies to discover if a host is down, not listening on a port, or unreachable.

This makes it easy to implement tracepath, for example.

It has been tested on Allegro x86 and AMD64, Lispworks x86 and AMD64, and SBCL x86 and AMD64. It supports both IPv6 and IPv4. It only supports Linux at the moment.

Contact

Email John Fremlin at MSI. His address is jf@[the domain without www].

View or edit the Cliki entry.

Using it

Start Lisp. Get asdf-install.

      CL-USER> (asdf-install:install 'cffi-udp)
      CL-USER> (asdf:operate 'asdf:load-op 'cffi-udp)
    

See contrib/tracepath.lisp

The API is documented.

Downloads

Downloads

Git development tree access

git clone http://cl-www.msi.co.jp/projects/cffi-udp/cffi-udp.git