Create pcap veth for no-fastdp operation
This commit is contained in:
1 parent
7dd37d2a13
commit
8e5384ee01
1 file changed
+17
-2
+17
-2
@@ -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 {
|
||||
|
||||
Reference in new issue
Block a user