all: implement router setup for merlin

This commit is contained in:
Cuong Manh Le
2023-04-12 10:07:16 +07:00
committed by Cuong Manh Le
parent 2c7d95bba2
commit a5443d5ca4
13 changed files with 565 additions and 20 deletions
+1 -1
View File
@@ -152,7 +152,7 @@ func initCLI() {
dir, err := userHomeDir()
if err != nil {
log.Fatalf("failed to get config dir: %v", dir)
log.Fatalf("failed to get config dir: %v", err)
}
for _, config := range configs {
ctrld.SetConfigNameWithPath(v, config.name, dir)
+7 -4
View File
@@ -167,8 +167,10 @@ func (p *prog) deAllocateIP() error {
}
func (p *prog) setDNS() {
// On router, ctrld run as a DNS provider, it does not have to change system DNS.
if router.Name() != "" {
switch router.Name() {
case router.DDWrt, router.OpenWrt, router.Ubios:
// On router, ctrld run as a DNS forwarder, it does not have to change system DNS.
// Except for Merlin, which has WAN DNS setup on boot for NTP.
return
}
if cfg.Listener == nil || cfg.Listener["0"] == nil {
@@ -199,8 +201,9 @@ func (p *prog) setDNS() {
}
func (p *prog) resetDNS() {
// See comment in p.setDNS method.
if router.Name() != "" {
switch router.Name() {
case router.DDWrt, router.OpenWrt, router.Ubios:
// See comment in p.setDNS method.
return
}
if iface == "" {