mirror of
https://github.com/rancher/os.git
synced 2025-08-02 07:24:28 +00:00
Merge pull request #112 from wlan0/netconf
match network interfaces by MAC addresses
This commit is contained in:
commit
6ce39f7c66
@ -1,11 +1,13 @@
|
||||
package network
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"errors"
|
||||
"fmt"
|
||||
"net"
|
||||
"os"
|
||||
"os/exec"
|
||||
"strings"
|
||||
|
||||
log "github.com/Sirupsen/logrus"
|
||||
|
||||
@ -48,6 +50,18 @@ func applyNetworkConfigs(cfg *config.Config) error {
|
||||
continue
|
||||
}
|
||||
|
||||
if len(netConf.Match) > 4 && strings.ToLower(netConf.Match[:3]) == "mac" {
|
||||
haAddr, err := net.ParseMAC(netConf.Match[4:])
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if bytes.Compare(haAddr, link.Attrs().HardwareAddr) == 0 {
|
||||
// MAC address match is used over all other matches
|
||||
match = netConf
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
// "" means match has not been found
|
||||
if match.Match == "" && matches(linkName, netConf.Match) {
|
||||
match = netConf
|
||||
|
Loading…
Reference in New Issue
Block a user