netifd: don't touch interfaces that with none proto
This commit is contained in:
parent
f22f089c47
commit
4347c6ec07
@ -1,7 +1,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=netifd
|
||||
PKG_RELEASE:=1
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/netifd.git
|
||||
|
||||
@ -0,0 +1,53 @@
|
||||
From 5233a5c4e27a4d2dd311da5f12ce910d81583127 Mon Sep 17 00:00:00 2001
|
||||
From: jjm2473 <1129525450@qq.com>
|
||||
Date: Tue, 19 Apr 2022 17:05:41 +0800
|
||||
Subject: [PATCH] don't touch interfaces that with none proto
|
||||
|
||||
some interfaces like docker0 just for firewall handling, generated by dockerd, should not be touched
|
||||
---
|
||||
interface.c | 2 +-
|
||||
proto.c | 2 +-
|
||||
proto.h | 1 +
|
||||
3 files changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/interface.c b/interface.c
|
||||
index b3bb601..55f8e84 100644
|
||||
--- a/interface.c
|
||||
+++ b/interface.c
|
||||
@@ -647,7 +647,7 @@ interface_claim_device(struct interface *iface)
|
||||
interface_add_user(&iface->parent_iface, parent);
|
||||
} else if (iface->device &&
|
||||
!(iface->proto_handler->flags & PROTO_FLAG_NODEV)) {
|
||||
- dev = device_get(iface->device, true);
|
||||
+ dev = device_get(iface->device, (iface->proto_handler->flags & PROTO_FLAG_EXTDEV)?2:1);
|
||||
interface_set_device_config(iface, dev);
|
||||
} else {
|
||||
dev = iface->ext_dev.dev;
|
||||
diff --git a/proto.c b/proto.c
|
||||
index 01473f2..2838a91 100644
|
||||
--- a/proto.c
|
||||
+++ b/proto.c
|
||||
@@ -565,7 +565,7 @@ default_proto_attach(const struct proto_handler *h,
|
||||
|
||||
static const struct proto_handler no_proto = {
|
||||
.name = "none",
|
||||
- .flags = PROTO_FLAG_IMMEDIATE,
|
||||
+ .flags = PROTO_FLAG_IMMEDIATE|PROTO_FLAG_EXTDEV,
|
||||
.attach = default_proto_attach,
|
||||
};
|
||||
|
||||
diff --git a/proto.h b/proto.h
|
||||
index 26a54bd..31b619b 100644
|
||||
--- a/proto.h
|
||||
+++ b/proto.h
|
||||
@@ -40,6 +40,7 @@ enum {
|
||||
PROTO_FLAG_LASTERROR = (1 << 5),
|
||||
PROTO_FLAG_TEARDOWN_ON_L3_LINK_DOWN = (1 << 6),
|
||||
PROTO_FLAG_NO_TASK = (1 << 7),
|
||||
+ PROTO_FLAG_EXTDEV = (1 << 8),
|
||||
};
|
||||
|
||||
struct interface_proto_state {
|
||||
--
|
||||
2.24.3 (Apple Git-128)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user