Files
cunicu/pkg/device/device_freebsd.go
T
Steffen Vogel d2b82e0bb7 fix codacy issues
Signed-off-by: Steffen Vogel <post@steffenvogel.de>
2022-10-14 21:30:26 +02:00

37 lines
768 B
Go

package device
import (
"fmt"
"net"
"os/exec"
"go.uber.org/zap"
)
func (d *BSDKernelDevice) AddRoute(dst net.IPNet, gw net.IP, table int) error {
d.logger.Debug("Add route",
zap.String("dst", dst.String()),
zap.String("gw", gw.String()))
args := []string{"route", "add", "-net", dst.String()}
if gw == nil {
args = append(args, "-interface", d.Name())
} else {
args = append(args, gw.String())
}
args = append(args, "-fib", fmt.Sprint(table))
_, err := run(args...)
return err
}
func (d *BSDKernelDevice) DeleteRoute(dst net.IPNet, table int) error {
d.logger.Debug("Delete route",
zap.String("dst", dst.String()))
_, err := run("route", "delete", "-net", dst.String(), "-interface", d.Name(), "-fib", fmt.Sprint(table))
return err
}