= '5') {
    if (!isset($_GET['optb'])) {
        $_GET['optb'] = 'all';
    }
    if (!isset($_GET['optc'])) {
        $_GET['optc'] = 'basic';
    }
    print_optionbar_start();
    echo 'VRF » ';
    if ($_GET['opta'] == 'vrf' && $_GET['optb'] == 'all') {
        echo "';
    }
    echo ' | ';
    if ($_GET['opta'] == 'vrf' && $_GET['optc'] == 'basic') {
        echo "';
    }
    echo ' | ';
    if ($_GET['opta'] == 'vrf' && $_GET['optc'] == 'details') {
        echo "';
    }
    echo ' | Graphs: ( ';
    if ($_GET['opta'] == 'vrf' && $_GET['optc'] == 'bits') {
        echo "';
    }
    echo ' | ';
    if ($_GET['opta'] == 'vrf' && $_GET['optc'] == 'upkts') {
        echo "';
    }
    echo ' | ';
    if ($_GET['opta'] == 'vrf' && $_GET['optc'] == 'nupkts') {
        echo "';
    }
    echo ' | ';
    if ($_GET['opta'] == 'vrf' && $_GET['optc'] == 'errors') {
        echo "';
    }
    echo ' )';
    print_optionbar_end();
    if ($_GET['optb'] == 'all') {
        // Pre-Cache in arrays
        // That's heavier on RAM, but much faster on CPU (1:40)
        // Specifying the fields reduces a lot the RAM used (1:4) .
        $vrf_fields  = 'vrf_id, mplsVpnVrfRouteDistinguisher, mplsVpnVrfDescription, vrf_name';
        $dev_fields  = 'D.device_id as device_id, hostname, os, hardware, version, features, location, status, `ignore`, disabled';
        $port_fields = 'port_id, ifvrf, device_id, ifDescr, ifAlias, ifName';
        foreach (dbFetchRows("SELECT $vrf_fields, $dev_fields FROM `vrfs` AS V, `devices` AS D WHERE D.device_id = V.device_id") as $vrf_device) {
            if (empty($vrf_devices[$vrf_device['mplsVpnVrfRouteDistinguisher']])) {
                $vrf_devices[$vrf_device['mplsVpnVrfRouteDistinguisher']][0] = $vrf_device;
            }
            else {
                array_push($vrf_devices[$vrf_device['mplsVpnVrfRouteDistinguisher']], $vrf_device);
            }
        }
        foreach (dbFetchRows("SELECT $port_fields FROM `ports` WHERE ifVrf<>0") as $port) {
            if (empty($ports[$port['ifvrf']][$port['device_id']])) {
                $ports[$port['ifvrf']][$port['device_id']][0] = $port;
            }
            else {
                array_push($ports[$port['ifvrf']][$port['device_id']], $port);
            }
        }
        echo "
";
        $i = '1';
        foreach (dbFetchRows('SELECT * FROM `vrfs` GROUP BY `mplsVpnVrfRouteDistinguisher`') as $vrf) {
            if (($i % 2)) {
                $bg_colour = $list_colour_a;
            }
            else {
                $bg_colour = $list_colour_b;
            }
            echo "";
            echo "".$vrf['vrf_name'].' '.$vrf['mplsVpnVrfDescription'].' | ';
            echo ''.$vrf['mplsVpnVrfRouteDistinguisher'].' | ';
            // echo("" . $vrf['mplsVpnVrfDescription'] . " | ");
            echo '';
            $x = 1;
            foreach ($vrf_devices[$vrf['mplsVpnVrfRouteDistinguisher']] as $device) {
                if (($i % 2)) {
                    if (($x % 2)) {
                        $dev_colour = $list_colour_a_a;
                    }
                    else {
                        $dev_colour = $list_colour_a_b;
                    }
                }
                else {
                    if (($x % 2)) {
                        $dev_colour = $list_colour_b_b;
                    }
                    else {
                        $dev_colour = $list_colour_b_a;
                    }
                }
                echo "".generate_device_link($device, shorthost($device['hostname']));
                if ($device['vrf_name'] != $vrf['vrf_name']) {
                    echo "Configured : '.$device['vrf_name']."', CAPTION, 'VRF Inconsistency' ,FGCOLOR,'#e5e5e5', BGCOLOR, '#c0c0c0', BORDER, 5, CELLPAD, 4, CAPCOLOR, '#050505');\" onmouseout=\"return nd();\">  ";
                }
                echo ' | ';
                unset($seperator);
                foreach ($ports[$device['vrf_id']][$device['device_id']] as $port) {
                    $port = array_merge($device, $port);
                    switch ($_GET['optc']) {
                        case 'bits':
                        case 'upkts':
                        case 'nupkts':
                        case 'errors':
                            $port['width']      = '130';
                            $port['height']     = '30';
                            $port['from']       = $config['time']['day'];
                            $port['to']         = $config['time']['now'];
                            $port['bg']         = '#'.$bg;
                            $port['graph_type'] = 'port_'.$_GET['optc'];
                            echo "
                                ".makeshortif($port['ifDescr']).' ';
                            print_port_thumbnail($port);
                            echo " ".truncate(short_port_descr($port['ifAlias']), 22, '').' 
                                 ';
                            break;
                        default:
                            echo $seperator.generate_port_link($port, makeshortif($port['ifDescr']));
                            $seperator = ', ';
                            break;
                    }//end switch
                }//end foreach
                echo ' |  ';
                $x++;
            } //end foreach
            echo '  | ';
            $i++;
        }//end foreach
        echo '
 ';
    }
    else {
        echo "";
        $vrf = dbFetchRow('SELECT * FROM `vrfs` WHERE mplsVpnVrfRouteDistinguisher = ?', array($_GET['optb']));
        echo "";
        echo "| ".$vrf['vrf_name'].' | ';
        echo ''.$vrf['mplsVpnVrfRouteDistinguisher'].' | ';
        echo ''.$vrf['mplsVpnVrfDescription'].' | ';
        echo '
 ';
        $x = 0;
        $devices = dbFetchRows('SELECT * FROM `vrfs` AS V, `devices` AS D WHERE `mplsVpnVrfRouteDistinguisher` = ? AND D.device_id = V.device_id', array($vrf['mplsVpnVrfRouteDistinguisher']));
        foreach ($devices as $device) {
            $hostname = $device['hostname'];
            if (($x % 2)) {
                $device_colour = $list_colour_a;
            }
            else {
                $device_colour = $list_colour_b;
            }
            echo '';
            include 'includes/device-header.inc.php';
            echo '
';
            unset($seperator);
            echo '';
            $i = 1;
            foreach (dbFetchRows('SELECT * FROM `ports` WHERE `ifVrf` = ? AND `device_id` = ?', array($device['vrf_id'], $device['device_id'])) as $interface) {
                if (($x % 2)) {
                    if (($i % 2) === 0) {
                        $int_colour = $list_colour_a_b;
                    }
                    else {
                        $int_colour = $list_colour_a_a;
                    }
                }
                else {
                    if (($i % 2) === 0) {
                        $int_colour = $list_colour_b_a;
                    }
                    else {
                        $int_colour = $list_colour_b_b;
                    }
                }
                include 'includes/print-interface.inc.php';
                $i++;
            }//end foreach
            $x++;
            echo '
 ';
            echo "";
        }//end foreach
    }//end if
}
else {
    include 'includes/error-no-perm.inc.php';
} //end if