Commit 0446ad71 authored by Dazhao Lao's avatar Dazhao Lao
Browse files

roh/core: Support macvlan in roh.

driver inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/IACHMS



-----------------------------------------------------------------------

In this patch, we add mac address process for macvlan device
in IPv4 change event to support macvlan in ROH.

Signed-off-by: default avatarDazhao Lao <laodazhao@huawei.com>
Reviewed-by: default avatarKe Chen <chenke54@huawei.com>
parent cf1d3c6a
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;