1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- package netlink
- import (
- "strings"
- )
- // Protinfo represents bridge flags from netlink.
- type Protinfo struct {
- Hairpin bool
- Guard bool
- FastLeave bool
- RootBlock bool
- Learning bool
- Flood bool
- ProxyArp bool
- ProxyArpWiFi bool
- }
- // String returns a list of enabled flags
- func (prot *Protinfo) String() string {
- var boolStrings []string
- if prot.Hairpin {
- boolStrings = append(boolStrings, "Hairpin")
- }
- if prot.Guard {
- boolStrings = append(boolStrings, "Guard")
- }
- if prot.FastLeave {
- boolStrings = append(boolStrings, "FastLeave")
- }
- if prot.RootBlock {
- boolStrings = append(boolStrings, "RootBlock")
- }
- if prot.Learning {
- boolStrings = append(boolStrings, "Learning")
- }
- if prot.Flood {
- boolStrings = append(boolStrings, "Flood")
- }
- if prot.ProxyArp {
- boolStrings = append(boolStrings, "ProxyArp")
- }
- if prot.ProxyArpWiFi {
- boolStrings = append(boolStrings, "ProxyArpWiFi")
- }
- return strings.Join(boolStrings, " ")
- }
- func boolToByte(x bool) []byte {
- if x {
- return []byte{1}
- }
- return []byte{0}
- }
- func byteToBool(x byte) bool {
- return uint8(x) != 0
- }
|