...

Source file src/edge-infra.dev/pkg/lib/kernel/netlink/tc/action.go

Documentation: edge-infra.dev/pkg/lib/kernel/netlink/tc

     1  //go:build linux
     2  
     3  package tc
     4  
     5  import "github.com/vishvananda/netlink"
     6  
     7  type MirredAction struct {
     8  	attrs     netlink.ActionAttrs
     9  	ifindex   int
    10  	mirredAct netlink.MirredAct
    11  }
    12  
    13  func NewMirredAction() *MirredAction {
    14  	return &MirredAction{}
    15  }
    16  
    17  func (ma *MirredAction) WithAttrs(attrs netlink.ActionAttrs) *MirredAction {
    18  	ma.attrs = attrs
    19  	return ma
    20  }
    21  
    22  func (ma *MirredAction) WithRedirectIfIndex(ifindex int) *MirredAction {
    23  	ma.ifindex = ifindex
    24  	return ma
    25  }
    26  
    27  func (ma *MirredAction) WithMirredAction(mirredAct netlink.MirredAct) *MirredAction {
    28  	ma.mirredAct = mirredAct
    29  	return ma
    30  }
    31  
    32  func (ma *MirredAction) Build() netlink.MirredAction {
    33  	return netlink.MirredAction{
    34  		Ifindex:      ma.ifindex,
    35  		ActionAttrs:  ma.attrs,
    36  		MirredAction: ma.mirredAct,
    37  	}
    38  }
    39  

View as plain text