Skip to content
Tom Barbette edited this page Nov 25, 2022 · 3 revisions

ARPResponder Element Documentation

NAME

ARPResponder — Click element; generates responses to ARP queries

SYNOPSIS

ARPResponder(IP/MASK [IP/MASK...] ETH, IP2/MASK2 ETH2, ...)

Batching: Batching natively supported
Ports: 1 input, 1-2 outputs
Processing: agnostic, but output 1 is push

DESCRIPTION

Input should be ARP request packets, including the Ethernet header. Forwards an ARP reply if we know the answer -- that is, if one of the IPPREFIX arguments matches the requested IP address, then it outputs an ARP reply giving the corresponding ETH address, otherwise the ARP request packet is pushed out of output 1 (if it exists). Could be used for proxy ARP as well as producing replies for a host's own address.

The IP/MASK arguments are IP network addresses (IP address/netmask pairs). The netmask can be specified in CIDR form (`18.26.7.0/24') or dotted decimal form (`18.26.7.0/255.255.255.0').

ARPResponder sets the device and VLAN TCI annotations on generated ARP responses to the corresponding annotations from the queries.

NOTES

AddressInfo elements can simplify the arguments to ARPResponder. In particular, if NAME is shorthand for both an IP network address (or IP address) IP and an Ethernet address ETH, then ARPResponder(NAME) is equivalent to ARPResponder(IP ETH). If NAME is short for both an IP address and an IP network address, then ARPResponder will prefer the IP address. (You can say NAME:ipnet to use the IP network address.)

ELEMENT HANDLERS

  • table (read-only) — Return the ARPResponder's current table, with one IP network entry per line.
  • lookup (read with parameters) — Takes an IP address as a parameter and returns the corresponding Ethernet address, if any.
  • add (write-only) — Add new entries. Takes a string in "IP/MASK [IP/MASK...] ETH" form.
  • remove (write-only) — Delete a single entry. Takes a string in "IP/MASK" form; deletes any entry with the same IP and MASK.

EXAMPLES

Produce ARP replies for the local machine (18.26.4.24) as well as proxy ARP for all machines on net 18.26.7 directing their packets to the local machine:

 c :: Classifier(12/0806 20/0001, ...);
 ar :: ARPResponder(18.26.4.24 18.26.7.0/24 00-00-C0-AE-67-EF);
 c[0] -> ar;
 ar -> ToDevice(eth0);

SEE ALSO

ARPQuerier, ARPFaker, AddressInfo

Generated by click-elem2man from ../elements/ethernet/arpresponder.hh:10 on 2022/11/25.

Clone this wiki locally