mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-15 05:09:54 +05:00
Update populating host ip addresses for diam agent
This commit is contained in:
committed by
Dan Christian Bogos
parent
ffd3dfd9a0
commit
df5e9bd8be
@@ -86,24 +86,29 @@ func (da *DiameterAgent) handlers() diam.Handler {
|
||||
ProductName: datatype.UTF8String(da.cgrCfg.DiameterAgentCfg().ProductName),
|
||||
FirmwareRevision: datatype.Unsigned32(utils.DIAMETER_FIRMWARE_REVISION),
|
||||
}
|
||||
interfaces, err := net.Interfaces()
|
||||
if err != nil {
|
||||
utils.Logger.Err(fmt.Sprintf("<%s> scan for interfaces err: %s",
|
||||
utils.DiameterAgent, err.Error()))
|
||||
}
|
||||
for _, inter := range interfaces {
|
||||
addrs, err := inter.Addrs()
|
||||
ipPort := strings.Split(da.cgrCfg.DiameterAgentCfg().Listen, utils.InInFieldSep)
|
||||
if ipPort[0] == "" {
|
||||
interfaces, err := net.Interfaces()
|
||||
if err != nil {
|
||||
utils.Logger.Err(fmt.Sprintf("<%s> error: %+v, when taking address from interface: %+v",
|
||||
utils.DiameterAgent, err, inter.Name))
|
||||
continue
|
||||
utils.Logger.Err(fmt.Sprintf("<%s> scan for interfaces err: %s",
|
||||
utils.DiameterAgent, err.Error()))
|
||||
}
|
||||
for _, iAddr := range addrs {
|
||||
if strings.Contains(da.cgrCfg.DiameterAgentCfg().Listen, strings.Split(iAddr.String(), utils.HDR_VAL_SEP)[0]) {
|
||||
for _, inter := range interfaces {
|
||||
addrs, err := inter.Addrs()
|
||||
if err != nil {
|
||||
utils.Logger.Err(fmt.Sprintf("<%s> error: %+v, when taking address from interface: %+v",
|
||||
utils.DiameterAgent, err, inter.Name))
|
||||
continue
|
||||
}
|
||||
for _, iAddr := range addrs {
|
||||
settings.HostIPAddresses = append(settings.HostIPAddresses, datatype.Address(
|
||||
strings.Split(iAddr.String(), utils.HDR_VAL_SEP)[0])) // address came in form x.y.z.t/24
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for _, ip := range strings.Split(ipPort[0], utils.HDR_VAL_SEP) {
|
||||
settings.HostIPAddresses = append(settings.HostIPAddresses, datatype.Address(ip))
|
||||
}
|
||||
}
|
||||
|
||||
dSM := sm.New(settings)
|
||||
|
||||
Reference in New Issue
Block a user