rtnl: AddrAdd: ensure v4 address format is used for AF_INET

Signed-off-by: Yaroslav Kolomiiets <yarikos@gmail.com>
This commit is contained in:
Yaroslav Kolomiiets 2019-04-30 17:18:00 +01:00
parent cc931d0061
commit f505b733d0

View File

@ -26,8 +26,10 @@ func (c *Conn) AddrAdd(ifc *net.Interface, addr *net.IPNet) error {
Local: addr.IP,
},
}
if addr.IP.To4() != nil {
if ip4 := addr.IP.To4(); ip4 != nil {
tx.Attributes.Broadcast = broadcastAddr(addr)
tx.Attributes.Address = ip4
tx.Attributes.Local = ip4
}
return c.Conn.Address.New(tx)
}
@ -54,8 +56,9 @@ func (c *Conn) AddrDel(ifc *net.Interface, addr *net.IPNet) error {
Address: addr.IP,
},
}
if addr.IP.To4() != nil {
if ip4 := addr.IP.To4(); ip4 != nil {
tx.Attributes.Broadcast = broadcastAddr(addr)
tx.Attributes.Address = ip4
}
return c.Conn.Address.Delete(tx)
}