Create pcap veth for no-fastdp operation

This commit is contained in:
Bryan Boreham committed 2017-04-17 19:41:47 +00:00
1 parent 7dd37d2a13
commit 8e5384ee01
1 file changed
+17 -2
+17 -2
View File
@@ -17,6 +17,8 @@ type BridgeType int
const (
WeaveBridgeName = "weave"
DatapathName = "datapath"
BridgeIfName = "vethwe-bridge"
PcapIfaceName = "vethwe-pcap"
None BridgeType = iota
Bridge
@@ -214,7 +216,7 @@ func CreateBridge(config *BridgeConfig) (BridgeType, error) {
return bridgeType, nil
}
func initBridge(config *BridgeConfig) error {
func initBridgePrep(config *BridgeConfig) error {
mac, err := net.ParseMAC(config.Mac)
if err != nil {
return err
@@ -231,6 +233,19 @@ func initBridge(config *BridgeConfig) error {
return nil
}
func initBridge(config *BridgeConfig) error {
if err := initBridgePrep(config); err != nil {
return err
}
if _, err := CreateAndAttachVeth(BridgeIfName, PcapIfaceName, config.WeaveBridgeName, config.MTU, true, func(veth netlink.Link) error {
return netlink.LinkSetUp(veth)
}); err != nil {
return err
}
return nil
}
func initFastdp(config *BridgeConfig) error {
datapath, err := netlink.LinkByName(config.DatapathName)
if err != nil {
@@ -243,7 +258,7 @@ func initBridgedFastdp(config *BridgeConfig) error {
if err := initFastdp(config); err != nil {
return err
}
if err := initBridge(config); err != nil {
if err := initBridgePrep(config); err != nil {
return err
}
if _, err := CreateAndAttachVeth("vethwe-bridge", "vethwe-datapath", config.WeaveBridgeName, config.MTU, true, func(veth netlink.Link) error {