Fall back to sleeve when "Overlays" not present in features
This commit is contained in:
1 parent
1000839309
commit
1f1451e666
2 files changed
+14
-3
No files matched your search
+3
-1
@@ -196,7 +196,9 @@ func main() {
|
||||
if fastDPOverlay != nil {
|
||||
overlays.Add("fastdp", fastDPOverlay)
|
||||
}
|
||||
overlays.Add("sleeve", weave.NewSleeveOverlay(config.Port))
|
||||
sleeve := weave.NewSleeveOverlay(config.Port)
|
||||
overlays.Add("sleeve", sleeve)
|
||||
overlays.SetCompatOverlay(sleeve)
|
||||
config.Overlay = overlays
|
||||
|
||||
if routerName == "" {
|
||||
|
||||
@@ -13,8 +13,9 @@ import (
|
||||
// uses the best one that seems to be working.
|
||||
|
||||
type OverlaySwitch struct {
|
||||
overlays map[string]Overlay
|
||||
overlayNames []string
|
||||
overlays map[string]Overlay
|
||||
overlayNames []string
|
||||
compatOverlay Overlay
|
||||
}
|
||||
|
||||
func NewOverlaySwitch() *OverlaySwitch {
|
||||
@@ -31,6 +32,10 @@ func (osw *OverlaySwitch) Add(name string, overlay Overlay) {
|
||||
osw.overlayNames = append(osw.overlayNames, name)
|
||||
}
|
||||
|
||||
func (osw *OverlaySwitch) SetCompatOverlay(overlay Overlay) {
|
||||
osw.compatOverlay = overlay
|
||||
}
|
||||
|
||||
func (osw *OverlaySwitch) AddFeaturesTo(features map[string]string) {
|
||||
features["Overlays"] = strings.Join(osw.overlayNames, " ")
|
||||
}
|
||||
@@ -159,6 +164,10 @@ type subForwarderEvent struct {
|
||||
|
||||
func (osw *OverlaySwitch) MakeForwarder(
|
||||
params ForwarderParams) (OverlayForwarder, error) {
|
||||
if _, present := params.Features["Overlays"]; !present && osw.compatOverlay != nil {
|
||||
return osw.compatOverlay.MakeForwarder(params)
|
||||
}
|
||||
|
||||
overlays, err := osw.commonOverlays(params)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
Reference in new issue
Block a user