diff options
| author | Christian Marangi | 2023-12-12 00:15:55 +0000 |
|---|---|---|
| committer | Felix Fietkau | 2024-01-04 12:35:39 +0000 |
| commit | b9442415c785e1fa58a0718606991fa51fa5e5d3 (patch) | |
| tree | a537fba69de58479420ace65bc62f7e945d5bafa | |
| parent | 923c4370a1d4f1ca6714287f0e8ff1bc3ad131b0 (diff) | |
| download | netifd-b9442415c785e1fa58a0718606991fa51fa5e5d3.tar.gz | |
system-linux: skip refreshing MAC on master change if custom MAC
If custom MAC or a default MAC needs to be applied, skip refreshing MAC
after master change to correctly apply the custom MAC.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
| -rw-r--r-- | system-linux.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/system-linux.c b/system-linux.c index 0137386..f4dbc18 100644 --- a/system-linux.c +++ b/system-linux.c @@ -2251,7 +2251,8 @@ system_if_apply_settings(struct device *dev, struct device_settings *s, uint64_t if (apply_mask & DEV_OPT_MASTER) { #if LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,0) system_set_master(dev, s->master_ifindex); - system_refresh_orig_macaddr(dev, &dev->orig_settings); + if (!(apply_mask & (DEV_OPT_MACADDR | DEV_OPT_DEFAULT_MACADDR)) || dev->external) + system_refresh_orig_macaddr(dev, &dev->orig_settings); #else netifd_log_message(L_WARNING, "%s Your kernel is older than linux 6.1.0, changing DSA port conduit is not supported!", dev->ifname); #endif |