ClearOS Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0014241ClearOSapp-network - Network Settingspublic2017-04-06 02:442018-04-19 08:43
Assigned To 
PlatformOSOS Version
Product Version7.3.1 
Target Version7.5.0 UpdatesFixed in Version 
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
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
dloper (administrator)
2017-04-06 03:20

            || preg_match('/^virbr/', $this->iface)

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;


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

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;
pbaldwin (administrator)
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 pbaldwin Severity minor => feature
2017-04-06 07:42 pbaldwin Status new => confirmed
2017-08-11 12:30 dloper Target Version 7.3.1 Updates => 7.4.0 Updates
2018-04-11 10:36 pbaldwin Note Added: 0007401
2018-04-11 10:36 pbaldwin Target Version 7.4.0 Updates => 7.5.0
2018-04-19 08:43 pbaldwin Target Version 7.5.0 => 7.5.0 Updates