mirror of
https://github.com/openfaas/faasd.git
synced 2025-06-09 00:16:46 +00:00
The use of containerd and CNI functions has been refactored to reuse the same codebase. Added all network functionality to own directory and package. Removed netlink and weave library in favor of using CNI plugin result files. Rename containers handler to functions to clear-up functionality. Signed-off-by: Carlos de Paula <me@carlosedp.com>
63 lines
1.1 KiB
Go
63 lines
1.1 KiB
Go
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 {
|
|
if prot == nil {
|
|
return "<nil>"
|
|
}
|
|
|
|
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
|
|
}
|