From 49ac0bc0e3ee77e3104596411ed9c556845b7945 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Thu, 1 Feb 2024 23:28:54 +0900 Subject: [PATCH] Implementation of minimal fallback mode needed especially for masquerading --- loxilb-ebpf | 2 +- loxinet/route.go | 14 ++++++++++---- options/options.go | 1 + 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/loxilb-ebpf b/loxilb-ebpf index 9ff2c017..4f79bbe4 160000 --- a/loxilb-ebpf +++ b/loxilb-ebpf @@ -1 +1 @@ -Subproject commit 9ff2c0178180b7877cd089ae81d7491a06598984 +Subproject commit 4f79bbe43f973f7683ec7006bfe6c2881b3618ac diff --git a/loxinet/route.go b/loxinet/route.go index f9c69f23..0f7b66eb 100644 --- a/loxinet/route.go +++ b/loxinet/route.go @@ -19,11 +19,10 @@ package loxinet import ( "errors" "fmt" - "net" - - tk "github.com/loxilb-io/loxilib" - cmn "github.com/loxilb-io/loxilb/common" + opts "github.com/loxilb-io/loxilb/options" + tk "github.com/loxilb-io/loxilib" + "net" ) // error codes @@ -471,6 +470,13 @@ func (rt *Rt) DP(work DpWorkT) int { return -1 } + if opts.Opts.FallBack { + if rtNet.IP.IsUnspecified() { + fmt.Printf("FALL BACK MODE\n\n\n\n") + return 0 + } + } + if work == DpStatsGet { nStat := new(StatDpWorkQ) nStat.Work = work diff --git a/options/options.go b/options/options.go index d20269c5..83594955 100644 --- a/options/options.go +++ b/options/options.go @@ -30,4 +30,5 @@ var Opts struct { Rpc string `long:"rpc" description:"RPC mode for syncing - netrpc or grpc" default:"netrpc"` K8sApi string `long:"k8s-api" description:"Enable k8s watcher(experimental)" default:"none"` IPVSCompat bool `long:"ipvs-compat" description:"Enable ipvs-compat(experimental)"` + FallBack bool `long:"fallback" description:"Fallback to system default networking(experimental)"` }