2.4. MACs API

The MACs API exposes functions to query and manage ntopng L2 devices.

Functions

function getMacsInfo(string sortColumn = "column_mac", int maxHits = 32768, int toSkip = 0, bool a2zSortOrder = true, bool sourceMacsOnly = false, string manufacturer = nil, int pool_filter = nil, int devtype_filter = nil, string location_filter = nil)

Retrieve active L2 devices information.

Note

it’s better to use the more efficient helper callback_utils.getDevicesIterator for generic devices iteration.

Parameters
  • sortColumn – column to use for sorting.

  • maxHits – maximum number of returned items.

  • toSkip – number of initial items to skip after sorting.

  • a2zSortOrder – if true, enable ascending sort order, otherwise order is descending.

  • sourceMacsOnly – if true, only sender devices will be returned.

  • manufacturer – filter by device manufacturer.

  • pool_filter – filter by host pool ID.

  • devtype_filter – filter by device type.

  • location_filter – filter by device location, “lan” or “wan”.

Returns

a table (numMacs, nextSlot, macs) on success, nil otherwise.

function getMacInfo(string mac)

Retrieve information about a specific L2 device.

Parameters

mac – the mac to query information for.

Returns

device information on success, nil otherwise.

function getMacHosts(string mac)

Get the L2 hosts which have the specified MAC address.

Parameters

mac – the mac.

Returns

a table containing the matching hosts.

function getMacManufacturers(int maxHits = 32768, bool sourceMacsOnly = false, int devtype_filter = nil, string location_filter = nil)

Get a list of MAC manufacturers from active devices.

Parameters
  • maxHits – maximum number of returned items.

  • sourceMacsOnly – if true, only sender devices will be returned.

  • devtype_filter – filter by device type.

  • location_filter – filter by device location, “lan” or “wan”.

Returns

table (manufacturer -> num_active_devices) on success, nil otherwise.

function setMacOperatingSystem(string mac, int os_id)

Set L2 device operating system.

Parameters
  • mac – device MAC address

  • os_id – the operating system id to set.

function getMacDeviceTypes(int maxHits = 32768, bool sourceMacsOnly = false, string manufacturer = nil, string location_filter = nil)

Get a list of device types from active devices.

Parameters
  • maxHits – maximum number of returned items.

  • sourceMacsOnly – if true, only sender devices will be return

  • manufacturer – filter by device manufacturer.ed.

  • location_filter – filter by device location, “lan” or “wan”.

Returns

table (device_type -> num_active_devices) on success, nil otherwise.

function findMacPool(string mac)

Get the pool of the specified L2 device. This also works for inactive devices. @oaram mac L2 device MAC address.

Note

nil is also returned for devices which do not belong to any pool.

Returns

the device pool id on success, nil otherwise.

function resetMacStats(string mac)

Reset the stats (e.g. traffic and application data) for the given device. @oaram mac L2 device MAC address.

Note

The device must be active in order to reset it. See also interface.resetStats

Returns

true if the reset request was successful, false otherwise.

function deleteMacData(string mac)

Delete all the data stored for the given host. @oaram mac L2 device MAC address.

Returns

true if the delete request was successful, false otherwise.