Unverified Commit 4f47261d authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!9884 roh/core: Support macvlan in roh.

Merge Pull Request from: @laodazhao 
 
In this patch, we add mac address process for macvlan device
in IPv4 change event to support macvlan in ROH.

bugzilla: https://gitee.com/openeuler/kernel/issues/IACHMS 
 
Link:https://gitee.com/openeuler/kernel/pulls/9884

 

Reviewed-by: default avatarKe Chen <chenke54@huawei.com>
Signed-off-by: default avatarJialin Zhang <zhangjialin11@huawei.com>
parents 1b76c0e6 0446ad71
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@
#include <linux/pci.h>
#include <linux/inetdevice.h>
#include <linux/if_vlan.h>
#include <linux/if_macvlan.h>

#include "core_priv.h"
#include "core.h"
@@ -265,6 +266,15 @@ static int roh_ipv4_event(struct notifier_block *this, unsigned long event, void
		return NOTIFY_DONE;
	}

	if (netif_is_macvlan(ndev)) {
		if (macvlan_dev_real_dev(ndev) == device->netdev) {
			s_addr.sa_family = ndev->type;
			u64_to_ether_addr(be32_to_cpu(ifa->ifa_address) & 0xffffff, s_addr.sa_data);
			dev_set_mac_address(ndev, &s_addr, NULL);
		}
		return NOTIFY_DONE;
	}

	if (device->netdev != ndev)
		return NOTIFY_DONE;