ClearOS Bug Tracker


View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0014241ClearOSapp-network - Network Settingspublic2017-04-06 02:442018-10-25 10:19
Reporterdloper 
Assigned Touser2 
PrioritynormalSeverityfeatureReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version7.3.1 
Target Version7.5.0 UpdatesFixed in Version7.5.0 Updates 
Summary0014241: virbrN interfaces need to also show up as bridge interfaces within ClearOS
Descriptionvirtualization br interfaces are virbr and should show up in the interfaces list similar to br interfaces.
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
(0005221)
dloper (administrator)
2017-04-06 02:49

Instead of going by the interface name, we should look at the type within the file. Bridge interfaces can be named whatever they want to be but are always enumerated with the parameter TYPE="Bridge" or TYPE=Bridge
(0005231)
dloper (administrator)
2017-04-06 03:20

add:
            || preg_match('/^virbr/', $this->iface)
in:
/usr/clearos/apps/network/libraries/Iface.php

code snippet:
    public function is_configurable()
    {
        clearos_profile(__METHOD__, __LINE__);

        // PPPoE interfaces are configurable, but only if they already configured.

        if (preg_match('/^eth/', $this->iface)
            || preg_match('/^wlan/', $this->iface)
            || preg_match('/^ath/', $this->iface)
            || preg_match('/^wlp/', $this->iface)
            || preg_match('/^em/', $this->iface)
            || preg_match('/^en/', $this->iface)
            || preg_match('/^p\d+p/', $this->iface)
            || preg_match('/^br/', $this->iface)
            || preg_match('/^virbr/', $this->iface)
            || preg_match('/^bond/', $this->iface)
            || preg_match('/^netw/', $this->iface)
            || (preg_match('/^ppp/', $this->iface) && $this->is_configured())
        ) {
            return TRUE;
        } else {
            return FALSE;
        }
    }

======================================

add:
            if (preg_match('/^virbr/', $netinfo['device']))
                return self::TYPE_BRIDGED;
in:
/usr/clearos/apps/network/libraries/Iface.php

code snippet:
        if (isset($netinfo['device'])) {
            if (preg_match('/^br/', $netinfo['device']))
                return self::TYPE_BRIDGED;

            if (preg_match('/^virbr/', $netinfo['device']))
                return self::TYPE_BRIDGED;

            if (preg_match('/^bond/', $netinfo['device']))
                return self::TYPE_BONDED;
        }
(0007401)
user2
2018-04-11 10:36

The Iface->is_configurable() API call is used to enumerate unconfigured interfaces (i.e. no config file exists). Software packages can come along and create all sorts of network interfaces. For example, Docker creates docker0 and vethX network interfaces... and we don't want these to show up as network interfaces in the ClearOS UI!

The Iface->get_type() API call does what you expect -- it grabs information from the ifcfg-X configuration files to determine the type.

- Issue History
Date Modified Username Field Change
2017-04-06 02:44 dloper New Issue
2017-04-06 02:49 dloper Note Added: 0005221
2017-04-06 03:20 dloper Note Added: 0005231
2017-04-06 07:42 user2 Severity minor => feature
2017-04-06 07:42 user2 Status new => confirmed
2017-08-11 12:30 dloper Target Version 7.3.1 Updates => 7.4.0 Updates
2018-04-11 10:36 user2 Note Added: 0007401
2018-04-11 10:36 user2 Target Version 7.4.0 Updates => 7.5.0
2018-04-19 08:43 user2 Target Version 7.5.0 => 7.5.0 Updates
2018-10-25 09:20 user2 Status confirmed => resolved
2018-10-25 09:20 user2 Fixed in Version => 7.5.0 Updates
2018-10-25 09:20 user2 Resolution open => fixed
2018-10-25 09:20 user2 Assigned To => user2
2018-10-25 10:19 user2 Status resolved => closed