---
name: "Net::Libdnet::Arp"
section: "3pm"
platform: "linux"
package: "libnet-libdnet-perl"
version: "0.990-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Net::Libdnet::Arp"
---

# Net::Libdnet::Arp(3pm)

high level API to access libdnet arp\_\* functions

## NAME

Net::Libdnet::Arp - high level API to access libdnet arp\_\* functions

## SYNOPSIS

```
   use Net::Libdnet::Arp;
   my $h       = Net::Libdnet::Arp->new;
   my $mac     = $h->get('10.0.0.1');
   my $success = $h->add('10.0.0.1', '00:11:22:33:44:55');
   my $success = $h->delete('10.0.0.1', '00:11:22:33:44:55');
   my $data;
   $h->loop(\&arp_print, \$data);
   sub arp_print {
      my ($e, $data) = @_;
      printf("%s at %s\n", $e->{arp_pa}, $e->{arp_ha});
   }
```

## DESCRIPTION

This modules is a higher level abstraction for libdnet arp\_\* functions.

## METHODS

- **new** ()

  Returns an object to access arp cache table on success, undef otherwise.

- **get** (scalar)

  Returns the mac address of specified IP address, undef otherwise.

- **add** (scalar, scalar)

  Adds an entry to arp cache table. Returns 1 on success, undef otherwise. First parameter is the IP address, second is the mac address.

- **delete** (scalar, scalar)

  Deletes an entry from arp cache table. Returns 1 on success, undef otherwise. First parameter is the IP address, second is the mac address.

- **loop** (subref, \[ scalarref \])

  Calls the specified sub ref for each entry in the arp cache table. The second optional parameter is a scalar ref, to store state information (if any).

## AUTHOR

Patrice \<GomoR\> Auffret

## COPYRIGHT AND LICENSE

You may distribute this module under the terms of the BSD license. See LICENSE file in the source distribution archive.

Copyright (c) 2008-2024, Patrice \<GomoR\> Auffret
