| From fab73ebddc70fa58206f687279e0f4d4372921a0 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 3 Sep 2018 11:21:54 +0100 |
| Subject: net: hns3: Change the dst mac addr of loopback packet |
| |
| From: Yunsheng Lin <linyunsheng@huawei.com> |
| |
| [ Upstream commit 7f7d9e501f4123e64b130576621d24f9379adc8f ] |
| |
| Currently, the dst mac addr of loopback packet is the same as |
| the host' mac addr, the SSU component may loop back the packet |
| to host before the packet reaches mac or serdes, which will defect |
| the purpose of mac or serdes selftest. |
| |
| This patch changes it by adding 0x1f to the last byte of dst mac |
| addr. |
| |
| Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com> |
| Signed-off-by: Peng Li <lipeng321@huawei.com> |
| Signed-off-by: Salil Mehta <salil.mehta@huawei.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c b/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c |
| index 5bdcd92d86122..0c34ea1223580 100644 |
| --- a/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c |
| +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c |
| @@ -137,6 +137,7 @@ static void hns3_lp_setup_skb(struct sk_buff *skb) |
| packet = skb_put(skb, HNS3_NIC_LB_TEST_PACKET_SIZE); |
| |
| memcpy(ethh->h_dest, ndev->dev_addr, ETH_ALEN); |
| + ethh->h_dest[5] += 0x1f; |
| eth_zero_addr(ethh->h_source); |
| ethh->h_proto = htons(ETH_P_ARP); |
| skb_reset_mac_header(skb); |
| -- |
| 2.20.1 |
| |