mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	This commit changes vishvananda/netlink binds godep version to: 49a735373919c4c9a53aff1f9f63da73a243f32d And adds vishvananda/netns with version: 8ba1072b58e0c2a240eb5f6120165c7776c3e7b8
		
			
				
	
	
		
			79 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package netlink
 | 
						|
 | 
						|
import (
 | 
						|
	"fmt"
 | 
						|
)
 | 
						|
 | 
						|
type Class interface {
 | 
						|
	Attrs() *ClassAttrs
 | 
						|
	Type() string
 | 
						|
}
 | 
						|
 | 
						|
// ClassAttrs represents a netlink class. A filter is associated with a link,
 | 
						|
// has a handle and a parent. The root filter of a device should have a
 | 
						|
// parent == HANDLE_ROOT.
 | 
						|
type ClassAttrs struct {
 | 
						|
	LinkIndex int
 | 
						|
	Handle    uint32
 | 
						|
	Parent    uint32
 | 
						|
	Leaf      uint32
 | 
						|
}
 | 
						|
 | 
						|
func (q ClassAttrs) String() string {
 | 
						|
	return fmt.Sprintf("{LinkIndex: %d, Handle: %s, Parent: %s, Leaf: %d}", q.LinkIndex, HandleStr(q.Handle), HandleStr(q.Parent), q.Leaf)
 | 
						|
}
 | 
						|
 | 
						|
type HtbClassAttrs struct {
 | 
						|
	// TODO handle all attributes
 | 
						|
	Rate    uint64
 | 
						|
	Ceil    uint64
 | 
						|
	Buffer  uint32
 | 
						|
	Cbuffer uint32
 | 
						|
	Quantum uint32
 | 
						|
	Level   uint32
 | 
						|
	Prio    uint32
 | 
						|
}
 | 
						|
 | 
						|
func (q HtbClassAttrs) String() string {
 | 
						|
	return fmt.Sprintf("{Rate: %d, Ceil: %d, Buffer: %d, Cbuffer: %d}", q.Rate, q.Ceil, q.Buffer, q.Cbuffer)
 | 
						|
}
 | 
						|
 | 
						|
// HtbClass represents an Htb class
 | 
						|
type HtbClass struct {
 | 
						|
	ClassAttrs
 | 
						|
	Rate    uint64
 | 
						|
	Ceil    uint64
 | 
						|
	Buffer  uint32
 | 
						|
	Cbuffer uint32
 | 
						|
	Quantum uint32
 | 
						|
	Level   uint32
 | 
						|
	Prio    uint32
 | 
						|
}
 | 
						|
 | 
						|
func (q HtbClass) String() string {
 | 
						|
	return fmt.Sprintf("{Rate: %d, Ceil: %d, Buffer: %d, Cbuffer: %d}", q.Rate, q.Ceil, q.Buffer, q.Cbuffer)
 | 
						|
}
 | 
						|
 | 
						|
func (q *HtbClass) Attrs() *ClassAttrs {
 | 
						|
	return &q.ClassAttrs
 | 
						|
}
 | 
						|
 | 
						|
func (q *HtbClass) Type() string {
 | 
						|
	return "htb"
 | 
						|
}
 | 
						|
 | 
						|
// GenericClass classes represent types that are not currently understood
 | 
						|
// by this netlink library.
 | 
						|
type GenericClass struct {
 | 
						|
	ClassAttrs
 | 
						|
	ClassType string
 | 
						|
}
 | 
						|
 | 
						|
func (class *GenericClass) Attrs() *ClassAttrs {
 | 
						|
	return &class.ClassAttrs
 | 
						|
}
 | 
						|
 | 
						|
func (class *GenericClass) Type() string {
 | 
						|
	return class.ClassType
 | 
						|
}
 |