The Nuff Interfaces

The Nuff Interfaces


The Nuff Interfaces

This is the reference documentation for the interfaces supported by nuff. For a detailed description of these interfaces and Packet Transport Descriptors (which are created from interfaces), see "nuff doc language".


Interfaces

  1. pcap
  2. dnet-eth
  3. dnet-ip
  4. udp-client
  5. udp-server
  6. existing-descriptor
  7. loopback


pcap
  • pcap is the nuff interface "LBNL's Packet CAPture library".

  • pcap provides a Packet Transport Descriptor in READ-ONLY mode.

  • Opening pcap interfaces DOES require superuser (root) privileges.

Required Arguments
SwitchDescriptionVerifier

Optional Arguments
SwitchDescriptionDefaultVerifier
-device"PCAP device to accept packets on"(get-default-pcap-dev)(member x pcap-devs)
-filter"PCAP filter string"""(string? x)


dnet-eth
  • dnet-eth is the nuff interface "Dug Song's libdnet ethernet layer".

  • dnet-eth provides a Packet Transport Descriptor in WRITE-ONLY mode.

  • Opening dnet-eth interfaces DOES require superuser (root) privileges.

Required Arguments
SwitchDescriptionVerifier

Optional Arguments
SwitchDescriptionDefaultVerifier
-device"dnet device to send packets on"(get-default-pcap-dev)(member x pcap-devs)


dnet-ip
  • dnet-ip is the nuff interface "Dug Song's libdnet IP layer".

  • dnet-ip provides a Packet Transport Descriptor in WRITE-ONLY mode.

  • Opening dnet-ip interfaces DOES require superuser (root) privileges.

Required Arguments
SwitchDescriptionVerifier

Optional Arguments
SwitchDescriptionDefaultVerifier


udp-client
  • udp-client is the nuff interface "UDP Client Connection".

  • udp-client provides a Packet Transport Descriptor in READ-WRITE mode.

  • Opening udp-client interfaces DOES NOT require superuser (root) privileges.

Required Arguments
SwitchDescriptionVerifier
host"Foreign host to send to"(valid-host? x)
port"Port on foreign host"(and (integer? x) (<= 0 x 65535))

Optional Arguments
SwitchDescriptionDefaultVerifier


udp-server
  • udp-server is the nuff interface "UDP Server Connection".

  • udp-server provides a Packet Transport Descriptor in READ-WRITE mode.

  • Opening udp-server interfaces DOES NOT require superuser (root) privileges.

Required Arguments
SwitchDescriptionVerifier
port"Port to bind to"(and (integer? x) (<= 0 x 65535))

Optional Arguments
SwitchDescriptionDefaultVerifier
-bindaddr"IPv4 address to bind to""0.0.0.0"(inet-aton x)


existing-descriptor
  • existing-descriptor is the nuff interface "Existing file/socket descriptor".

  • existing-descriptor provides a Packet Transport Descriptor in READ-WRITE mode.

  • Opening existing-descriptor interfaces DOES NOT require superuser (root) privileges.

Required Arguments
SwitchDescriptionVerifier
sd"Descriptor number"(and (integer? x) (<= 0 x 65535))

Optional Arguments
SwitchDescriptionDefaultVerifier


loopback
  • loopback is the nuff interface "Generic Loopback PTD".

  • loopback provides a Packet Transport Descriptor in READ-WRITE mode.

  • Opening loopback interfaces DOES NOT require superuser (root) privileges.

Required Arguments
SwitchDescriptionVerifier

Optional Arguments
SwitchDescriptionDefaultVerifier

All material is © Doug Hoyte and/or HCSW Labs unless otherwise noted or implied.