r4343 bugfix: VRP linkstatus gateway now properly handles port-channels
authorAlexey Andriyanov <alan@al-an.info>
Wed, 16 Mar 2011 14:33:49 +0000 (14:33 +0000)
committerAlexey Andriyanov <alan@al-an.info>
Wed, 16 Mar 2011 14:33:49 +0000 (14:33 +0000)
ios12ShortenIfName: the canonical form of Huawei port-channel interfaces is Eth-TrunkX
vrpReadInterfaceStatus: portchannel padding in the output of 'disp int bri' supported

wwwroot/inc/deviceconfig.php
wwwroot/inc/functions.php

index 92664432aa72706dc2d7ab6e98cd765060221d54..314fd8fa713499d1e6eff7b523f874af4c7ba9f5 100644 (file)
@@ -1535,6 +1535,8 @@ function vrpReadInterfaceStatus ($text)
                                $field_list = preg_split('/\s+/', $line);
                                if (count ($field_list) < 7)
                                        break;
+                               if ($field_list[0] == '')
+                                       array_shift ($field_list);
                                list ($portname, $status_raw) = $field_list;
                                $portname = ios12ShortenIfName ($portname);
 
index 75a42264f0d18f870822923e0da5602f873b964c..eb554aab5b78660ae244a2db9fbb656937383b31 100644 (file)
@@ -2920,6 +2920,8 @@ function formatVLANName ($vlaninfo, $context = 'markup long')
 // map interface name
 function ios12ShortenIfName ($ifname)
 {
+       if (preg_match ('@^eth-trunk(\d+)$@i', $ifname, $m))
+               return "Eth-Trunk${m[1]}";
        $ifname = preg_replace ('@^Eth(?:ernet)?(.+)$@', 'e\\1', $ifname);
        $ifname = preg_replace ('@^FastEthernet(.+)$@', 'fa\\1', $ifname);
        $ifname = preg_replace ('@^(?:GigabitEthernet|GE)(.+)$@', 'gi\\1', $ifname);