configurate interfaces for mac, addresses and traffic
This commit is contained in:
parent
0b22130eb5
commit
220e8bf97e
|
@ -15,7 +15,9 @@ hostname = ""
|
|||
site_code = "ffhb"
|
||||
domain_code = ""
|
||||
vpn = false
|
||||
traffic_interfaces = [ "eth0" ]
|
||||
interface_mac = "eth0"
|
||||
interfaces_traffic = [ "eth0" ]
|
||||
interfaces_address = [ "br-ffhb", "eth0" ]
|
||||
|
||||
[defaults.location]
|
||||
latitude = 53.112446246
|
||||
|
|
|
@ -41,7 +41,9 @@ type AnswerConfig struct {
|
|||
DomainCode string `toml:"domain_code"`
|
||||
Location *data.Location `json:"location,omitempty"`
|
||||
VPN bool `toml:"vpn"`
|
||||
TrafficInterfaces []string `toml:"traffic_interfaces"`
|
||||
InterfaceMAC string `toml:"interface_mac"`
|
||||
InterfacesTraffic []string `toml:"interfaces_traffic"`
|
||||
InterfacesAddress []string `toml:"interfaces_address"`
|
||||
}
|
||||
|
||||
func (d *Daemon) getAnswer(iface string) (*AnswerConfig, string) {
|
||||
|
|
|
@ -60,14 +60,23 @@ func (d *Daemon) updateNodeinfo(iface string, resp *data.ResponseData) {
|
|||
resp.Nodeinfo.Software.Babeld.Version = babel.Version()
|
||||
}
|
||||
|
||||
if config.InterfaceMAC != "" {
|
||||
i, err := net.InterfaceByName(config.InterfaceMAC)
|
||||
if err == nil {
|
||||
resp.Nodeinfo.Network.Mac = i.HardwareAddr.String()
|
||||
}
|
||||
}
|
||||
if resp.Nodeinfo.Network.Mac == "" {
|
||||
resp.Nodeinfo.Network.Mac = fmt.Sprintf("%s:%s:%s:%s:%s:%s", nodeID[0:2], nodeID[2:4], nodeID[4:6], nodeID[6:8], nodeID[8:10], nodeID[10:12])
|
||||
}
|
||||
|
||||
if iface != "" {
|
||||
if iface != "" && len(config.InterfacesAddress) == 0 {
|
||||
resp.Nodeinfo.Network.Addresses = getAddresses(iface)
|
||||
} else {
|
||||
resp.Nodeinfo.Network.Addresses = []string{}
|
||||
for _, ifname := range config.InterfacesAddress {
|
||||
resp.Nodeinfo.Network.Addresses = append(resp.Nodeinfo.Network.Addresses, getAddresses(ifname)...)
|
||||
}
|
||||
}
|
||||
resp.Nodeinfo.Network.Mesh = make(map[string]*data.NetworkInterface)
|
||||
for _, bface := range d.Batman {
|
||||
|
|
|
@ -37,7 +37,7 @@ func (d *Daemon) updateStatistics(iface string, resp *data.ResponseData) {
|
|||
|
||||
allowedInterfaces := make(map[string]bool)
|
||||
|
||||
for _, iface := range config.TrafficInterfaces {
|
||||
for _, iface := range config.InterfacesTraffic {
|
||||
allowedInterfaces[iface] = true
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue