The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

RELATIONSHIPS

device

Returns the Device table entry to which the given Port is related.

port_vlans

Returns the set of device_port_vlan entries associated with this Port. These will be both tagged and untagged. Use this relation in search conditions.

See also all_port_vlans.

all_port_vlans

Returns the set of device_port_vlan entries associated with this Port. These will be both tagged and untagged. Use this relation when prefetching related device_port_vlan rows.

See also port_vlans.

nodes / active_nodes / nodes_with_age / active_nodes_with_age

Returns the set of Nodes whose MAC addresses are associated with this Device Port.

The active variants return only the subset of nodes currently in the switch MAC address table, that is the active ones.

The with_age variants add an additional column time_last_age, a preformatted value for the Node's time_last field, which reads as "X days/weeks/months/years".

power

Returns a row from the device_port_power table if one refers to this device port.

wireless

Returns a row from the device_port_wireless table if one refers to this device port.

agg_master

Returns another row from the device_port table if this port is slave to another in a link aggregate.

neighbor_alias

When a device port has an attached neighbor device, this relationship will return the IP address of the neighbor. See the neighbor helper method if what you really want is to retrieve the Device entry for that neighbor.

The JOIN is of type "LEFT" in case the neighbor device is known but has not been fully discovered by Netdisco and so does not exist itself in the database.

vlans

As compared to port_vlans, this relationship returns a set of VLAN row objects for the VLANs on the given port, which might be more useful if you want to find out details such as the VLAN name.

See also vlan_count.

oui

Returns the oui table entry matching this Port. You can then join on this relation and retrieve the Company name from the related table.

The JOIN is of type LEFT, in case the OUI table has not been populated.

ADDITIONAL METHODS

neighbor

Returns the Device entry for the neighbour Device on the given port.

Might return an undefined value if there is no neighbor on the port, or if the neighbor has not been fully discovered by Netdisco and so does not exist in the database.

ADDITIONAL COLUMNS

native

An alias for the vlan column, which stores the PVID (that is, the VLAN ID assigned to untagged frames received on the port).

vlan_count

Returns the number of VLANs active on this device port. Enable this column by applying the with_vlan_count() modifier to search().

lastchange_stamp

Formatted version of the lastchange field, accurate to the minute. Enable this column by applying the with_times() modifier to search().

The format is somewhat like ISO 8601 or RFC3339 but without the middle T between the date stamp and time stamp. That is:

 2012-02-06 12:49

is_free

This method can be used to evaluate whether a device port could be considered unused, based on the last time it changed from the "up" state to a "down" state.

See the with_is_free and only_free_ports modifiers to search().

base64url_port

Returns a Base64 encoded version of the port column value suitable for use in a URL.