0 || $port['ifOutErrors_delta'] > 0) {
    $error_img = generate_port_link($port, "
", 'port_errors');
}
else {
    $error_img = '';
}
if (dbFetchCell('SELECT COUNT(*) FROM `mac_accounting` WHERE `port_id` = ?', array($port['port_id']))) {
    $mac = " 'macaccounting'))."'>
";
}
else {
    $mac = '';
}
echo "
    ";
// Don't echo out ports ifIndex if it's a NOS device since their ifIndex is, for lack of better words....different
if ($device['os'] == 'nos') {
    echo '        
        '.generate_port_link($port, $port['label'])." $error_img $mac
         ".$port['ifAlias'].'';
}
else {
    echo '        
    '.generate_port_link($port, $port['ifIndex'].'. '.$port['label'])." $error_img $mac
     ".$port['ifAlias'].'';
}
if ($port['ifAlias']) {
    echo ' ';
}
unset($break);
if ($port_details) {
    foreach (dbFetchRows('SELECT * FROM `ipv4_addresses` WHERE `port_id` = ?', array($port['port_id'])) as $ip) {
        echo "$break ".$ip['ipv4_address'].'/'.$ip['ipv4_prefixlen'].'';
        $break = ' ';
    }
    foreach (dbFetchRows('SELECT * FROM `ipv6_addresses` WHERE `port_id` = ?', array($port['port_id'])) as $ip6) {
        echo "$break ".Net_IPv6::compress($ip6['ipv6_address']).'/'.$ip6['ipv6_prefixlen'].'';
        $break = ' ';
    }
}
echo '';
echo " | ";
if ($port_details) {
    $port['graph_type'] = 'port_bits';
    echo generate_port_link($port, " ");
    $port['graph_type'] = 'port_upkts';
    echo generate_port_link($port, " ");
    $port['graph_type'] = 'port_errors';
    echo generate_port_link($port, " ");
}
echo " | ";
if ($port['ifOperStatus'] == 'up') {
    $port['in_rate']  = ($port['ifInOctets_rate'] * 8);
    $port['out_rate'] = ($port['ifOutOctets_rate'] * 8);
    $in_perc          = @round(($port['in_rate'] / $port['ifSpeed'] * 100));
    $out_perc         = @round(($port['in_rate'] / $port['ifSpeed'] * 100));
    echo "  ".formatRates($port['in_rate'])." 
          ".formatRates($port['out_rate'])." 
          ".format_bi($port['ifInUcastPkts_rate'])."pps 
          ".format_bi($port['ifOutUcastPkts_rate']).'pps';
}
echo " | ";
if ($port['ifSpeed']) {
    echo ''.humanspeed($port['ifSpeed']).'';
}
echo ' ';
if ($port[ifDuplex] != 'unknown') {
    echo ''.$port['ifDuplex'].'';
}
else {
    echo '-';
}
if ($device['os'] == 'ios' || $device['os'] == 'iosxe') {
    if ($port['ifTrunk']) {
        echo ''.$vlan['vlan'].' '.$vlan['vlan_descr'].' ';
        }
        echo '">'.$port['ifTrunk'].' ';
    }
    else if ($port['ifVlan']) {
        echo 'VLAN '.$port['ifVlan'].' ';
    }
    else if ($port['ifVrf']) {
        $vrf = dbFetchRow('SELECT * FROM vrfs WHERE vrf_id = ?', array($port['ifVrf']));
        echo "".$vrf['vrf_name'].' ';
    }//end if
}//end if
if ($port_adsl['adslLineCoding']) {
    echo " | ";
    echo $port_adsl['adslLineCoding'].'/'.rewrite_adslLineType($port_adsl['adslLineType']);
    echo ' ';
    echo 'Sync:'.formatRates($port_adsl['adslAtucChanCurrTxRate']).'/'.formatRates($port_adsl['adslAturChanCurrTxRate']);
    echo ' ';
    echo 'Max:'.formatRates($port_adsl['adslAtucCurrAttainableRate']).'/'.formatRates($port_adsl['adslAturCurrAttainableRate']);
    echo " | ";
    echo 'Atten:'.$port_adsl['adslAtucCurrAtn'].'dB/'.$port_adsl['adslAturCurrAtn'].'dB';
    echo ' ';
    echo 'SNR:'.$port_adsl['adslAtucCurrSnrMgn'].'dB/'.$port_adsl['adslAturCurrSnrMgn'].'dB';
}
else {
    echo " | ";
    if ($port['ifType'] && $port['ifType'] != '') {
        echo ''.fixiftype($port['ifType']).'';
    }
    else {
        echo '-';
    }
    echo ' ';
    if ($ifHardType && $ifHardType != '') {
        echo ''.$ifHardType.'';
    }
    else {
        echo '-';
    }
    echo " | ";
    if ($port['ifPhysAddress'] && $port['ifPhysAddress'] != '') {
        echo ''.formatMac($port['ifPhysAddress']).'';
    }
    else {
        echo '-';
    }
    echo ' ';
    if ($port['ifMtu'] && $port['ifMtu'] != '') {
        echo 'MTU '.$port['ifMtu'].'';
    }
    else {
        echo '-';
    }
}//end if
echo ' | ';
echo '';
$neighborsCount=0;
$nbLinks=0;
if (strpos($port['label'], 'oopback') === false && !$graph_type) {
    foreach (dbFetchRows('SELECT * FROM `links` AS L, `ports` AS I, `devices` AS D WHERE L.local_port_id = ? AND L.remote_port_id = I.port_id AND I.device_id = D.device_id', array($if_id)) as $link) {
        // echo("  " . generate_port_link($link, makeshortif($link['label'])) . " on " . generate_device_link($link, shorthost($link['hostname'])) . " ");
        // $br = " ";
        $int_links[$link['port_id']]      = $link['port_id'];
        $int_links_phys[$link['port_id']] = 1;
	$nbLinks++;
    }
    unset($br);
    if ($port_details && $config['enable_port_relationship'] === true) {
        // Show which other devices are on the same subnet as this interface
        foreach (dbFetchRows("SELECT `ipv4_network_id` FROM `ipv4_addresses` WHERE `port_id` = ? AND `ipv4_address` NOT LIKE '127.%'", array($port['port_id'])) as $net) {
            $ipv4_network_id = $net['ipv4_network_id'];
            $sql             = 'SELECT I.port_id FROM ipv4_addresses AS A, ports AS I, devices AS D
                WHERE A.port_id = I.port_id
                AND A.ipv4_network_id = ? AND D.device_id = I.device_id
                AND D.device_id != ?';
            $array           = array(
                $net['ipv4_network_id'],
                $device['device_id'],
            );
            foreach (dbFetchRows($sql, $array) as $new) {
                echo $new['ipv4_network_id'];
                $this_ifid                = $new['port_id'];
                $this_hostid              = $new['device_id'];
                $this_hostname            = $new['hostname'];
                $this_ifname              = fixifName($new['label']);
                $int_links[$this_ifid]    = $this_ifid;
                $int_links_v4[$this_ifid] = 1;
            }
        }//end foreach
        foreach (dbFetchRows('SELECT ipv6_network_id FROM ipv6_addresses WHERE port_id = ?', array($port['port_id'])) as $net) {
            $ipv6_network_id = $net['ipv6_network_id'];
            $sql             = "SELECT I.port_id FROM ipv6_addresses AS A, ports AS I, devices AS D
                WHERE A.port_id = I.port_id
                AND A.ipv6_network_id = ? AND D.device_id = I.device_id
                AND D.device_id != ? AND A.ipv6_origin != 'linklayer' AND A.ipv6_origin != 'wellknown'";
            $array           = array(
                $net['ipv6_network_id'],
                $device['device_id'],
            );
            foreach (dbFetchRows($sql, $array) as $new) {
                echo $new['ipv6_network_id'];
                $this_ifid                = $new['port_id'];
                $this_hostid              = $new['device_id'];
                $this_hostname            = $new['hostname'];
                $this_ifname              = fixifName($new['label']);
                $int_links[$this_ifid]    = $this_ifid;
                $int_links_v6[$this_ifid] = 1;
            }
        }//end foreach
    }//end if
    if(count($int_links) > 3)
    {
       echo '
               ';
    }
    if ($port_details && $config['enable_port_relationship'] === true && port_permitted($int_link,$device['device_id'])) {
        foreach ($int_links as $int_link) {
            $neighborsCount++;
            if($neighborsCount == 4)
	    {
		echo '[...]';
		echo '';
         	echo ' ';
            }
            $link_if = dbFetchRow('SELECT * from ports AS I, devices AS D WHERE I.device_id = D.device_id and I.port_id = ?', array($int_link));
            echo "$br";
            if ($int_links_phys[$int_link]) {
                echo "  ";
            }
            else {
                echo "  ";
            }
            echo ''.generate_port_link($link_if, makeshortif($link_if['label'])).' on '.generate_device_link($link_if, shorthost($link_if['hostname']));
            if ($int_links_v6[$int_link]) {
                echo " v6";
            }
            if ($int_links_v4[$int_link]) {
                echo " v4";
            }
            $br = ' ';
        }//end foreach
    }//end if
    // unset($int_links, $int_links_v6, $int_links_v4, $int_links_phys, $br);
}//end if
if ($port_details && $config['enable_port_relationship'] === true && port_permitted($port['port_id'], $device['device_id'])) {
    foreach (dbFetchRows('SELECT * FROM `pseudowires` WHERE `port_id` = ?', array($port['port_id'])) as $pseudowire) {
        // `port_id`,`peer_device_id`,`peer_ldp_id`,`cpwVcID`,`cpwOid`
        $pw_peer_dev = dbFetchRow('SELECT * FROM `devices` WHERE `device_id` = ?', array($pseudowire['peer_device_id']));
        $pw_peer_int = dbFetchRow('SELECT * FROM `ports` AS I, pseudowires AS P WHERE I.device_id = ? AND P.cpwVcID = ? AND P.port_id = I.port_id', array($pseudowire['peer_device_id'], $pseudowire['cpwVcID']));
        $pw_peer_int = ifNameDescr($pw_peer_int);
        echo "$br  ".generate_port_link($pw_peer_int, makeshortif($pw_peer_int['label'])).' on '.generate_device_link($pw_peer_dev, shorthost($pw_peer_dev['hostname'])).'';
        $br = ' ';
    }
    foreach (dbFetchRows('SELECT * FROM `ports` WHERE `pagpGroupIfIndex` = ? and `device_id` = ?', array($port['ifIndex'], $device['device_id'])) as $member) {
        echo "$br  ".generate_port_link($member).' (PAgP)';
        $br = ' ';
    }
    if ($port['pagpGroupIfIndex'] && $port['pagpGroupIfIndex'] != $port['ifIndex']) {
        $parent = dbFetchRow('SELECT * FROM `ports` WHERE `ifIndex` = ? and `device_id` = ?', array($port['pagpGroupIfIndex'], $device['device_id']));
        echo "$br  ".generate_port_link($parent).' (PAgP)';
        $br = ' ';
    }
    foreach (dbFetchRows('SELECT * FROM `ports_stack` WHERE `port_id_low` = ? and `device_id` = ?', array($port['ifIndex'], $device['device_id'])) as $higher_if) {
        if ($higher_if['port_id_high']) {
            $this_port = get_port_by_index_cache($device['device_id'], $higher_if['port_id_high']);
            echo "$br  ".generate_port_link($this_port).'';
            $br = ' ';
        }
    }
    foreach (dbFetchRows('SELECT * FROM `ports_stack` WHERE `port_id_high` = ? and `device_id` = ?', array($port['ifIndex'], $device['device_id'])) as $lower_if) {
        if ($lower_if['port_id_low']) {
            $this_port = get_port_by_index_cache($device['device_id'], $lower_if['port_id_low']);
            echo "$br  ".generate_port_link($this_port).'';
            $br = ' ';
        }
    }
}//end if
unset($int_links, $int_links_v6, $int_links_v4, $int_links_phys, $br);
if($nbLinks > 3)
{
echo ' ';
}
echo ' | 
';
// If we're showing graphs, generate the graph and print the img tags
if ($graph_type == 'etherlike') {
    $graph_file = get_port_rrdfile_path ($device['hostname'], $if_id, 'dot3');
}
else {
    $graph_file = get_port_rrdfile_path ($device['hostname'], $if_id);
}
if ($graph_type && is_file($graph_file)) {
    $type = $graph_type;
    echo "