//go:build linux package tc import "github.com/vishvananda/netlink" type MirredAction struct { attrs netlink.ActionAttrs ifindex int mirredAct netlink.MirredAct } func NewMirredAction() *MirredAction { return &MirredAction{} } func (ma *MirredAction) WithAttrs(attrs netlink.ActionAttrs) *MirredAction { ma.attrs = attrs return ma } func (ma *MirredAction) WithRedirectIfIndex(ifindex int) *MirredAction { ma.ifindex = ifindex return ma } func (ma *MirredAction) WithMirredAction(mirredAct netlink.MirredAct) *MirredAction { ma.mirredAct = mirredAct return ma } func (ma *MirredAction) Build() netlink.MirredAction { return netlink.MirredAction{ Ifindex: ma.ifindex, ActionAttrs: ma.attrs, MirredAction: ma.mirredAct, } }