fix route adding

This commit is contained in:
Vladimir Avtsenov 2025-02-12 04:27:27 +03:00
parent 849a584371
commit 04fd45fe97

View File

@ -132,11 +132,11 @@ func (r *IPSetToLink) insertIPRoute() error {
iface, err := netlink.LinkByName(r.IfaceName) iface, err := netlink.LinkByName(r.IfaceName)
if err != nil { if err != nil {
// TODO: Нормально отлавливать ошибку // TODO: Нормально отлавливать ошибку
if err.Error() != "Link not found" { if err.Error() == "Link not found" {
return fmt.Errorf("error while getting interface: %w", err) // TODO: Логи
} else {
return nil return nil
} }
return fmt.Errorf("error while getting interface: %w", err)
} }
// Mapping iface with table // Mapping iface with table
@ -146,9 +146,12 @@ func (r *IPSetToLink) insertIPRoute() error {
Dst: &net.IPNet{IP: []byte{0, 0, 0, 0}, Mask: []byte{0, 0, 0, 0}}, Dst: &net.IPNet{IP: []byte{0, 0, 0, 0}, Mask: []byte{0, 0, 0, 0}},
} }
// Delete rule if exists // Delete rule if exists
_ = netlink.RouteDel(route)
err = netlink.RouteAdd(route) err = netlink.RouteAdd(route)
if err != nil { if err != nil {
// TODO: Нормально отлавливать ошибку
if err.Error() == "file exists" {
return nil
}
return fmt.Errorf("error while mapping iface with table: %w", err) return fmt.Errorf("error while mapping iface with table: %w", err)
} }
r.ipRoute = route r.ipRoute = route