|
@@ -1582,15 +1582,14 @@ static enum i40iw_status_code i40iw_del_multiple_qhash(
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * i40iw_netdev_vlan_ipv6 - Gets the netdev and mac
|
|
|
+ * i40iw_netdev_vlan_ipv6 - Gets the netdev and vlan
|
|
|
* @addr: local IPv6 address
|
|
|
* @vlan_id: vlan id for the given IPv6 address
|
|
|
- * @mac: mac address for the given IPv6 address
|
|
|
*
|
|
|
* Returns the net_device of the IPv6 address and also sets the
|
|
|
- * vlan id and mac for that address.
|
|
|
+ * vlan id for that address.
|
|
|
*/
|
|
|
-static struct net_device *i40iw_netdev_vlan_ipv6(u32 *addr, u16 *vlan_id, u8 *mac)
|
|
|
+static struct net_device *i40iw_netdev_vlan_ipv6(u32 *addr, u16 *vlan_id)
|
|
|
{
|
|
|
struct net_device *ip_dev = NULL;
|
|
|
struct in6_addr laddr6;
|
|
@@ -1600,15 +1599,11 @@ static struct net_device *i40iw_netdev_vlan_ipv6(u32 *addr, u16 *vlan_id, u8 *ma
|
|
|
i40iw_copy_ip_htonl(laddr6.in6_u.u6_addr32, addr);
|
|
|
if (vlan_id)
|
|
|
*vlan_id = I40IW_NO_VLAN;
|
|
|
- if (mac)
|
|
|
- eth_zero_addr(mac);
|
|
|
rcu_read_lock();
|
|
|
for_each_netdev_rcu(&init_net, ip_dev) {
|
|
|
if (ipv6_chk_addr(&init_net, &laddr6, ip_dev, 1)) {
|
|
|
if (vlan_id)
|
|
|
*vlan_id = rdma_vlan_dev_vlan_id(ip_dev);
|
|
|
- if (ip_dev->dev_addr && mac)
|
|
|
- ether_addr_copy(mac, ip_dev->dev_addr);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
@@ -3588,7 +3583,7 @@ int i40iw_accept(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
|
|
|
cm_node->vlan_id = i40iw_get_vlan_ipv4(cm_node->loc_addr);
|
|
|
} else {
|
|
|
cm_node->ipv4 = false;
|
|
|
- i40iw_netdev_vlan_ipv6(cm_node->loc_addr, &cm_node->vlan_id, NULL);
|
|
|
+ i40iw_netdev_vlan_ipv6(cm_node->loc_addr, &cm_node->vlan_id);
|
|
|
}
|
|
|
i40iw_debug(cm_node->dev,
|
|
|
I40IW_DEBUG_CM,
|
|
@@ -3787,7 +3782,7 @@ int i40iw_connect(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
|
|
|
raddr6->sin6_addr.in6_u.u6_addr32);
|
|
|
cm_info.loc_port = ntohs(laddr6->sin6_port);
|
|
|
cm_info.rem_port = ntohs(raddr6->sin6_port);
|
|
|
- i40iw_netdev_vlan_ipv6(cm_info.loc_addr, &cm_info.vlan_id, NULL);
|
|
|
+ i40iw_netdev_vlan_ipv6(cm_info.loc_addr, &cm_info.vlan_id);
|
|
|
}
|
|
|
cm_info.cm_id = cm_id;
|
|
|
cm_info.tos = cm_id->tos;
|
|
@@ -3929,8 +3924,7 @@ int i40iw_create_listen(struct iw_cm_id *cm_id, int backlog)
|
|
|
cm_info.loc_port = ntohs(laddr6->sin6_port);
|
|
|
if (ipv6_addr_type(&laddr6->sin6_addr) != IPV6_ADDR_ANY)
|
|
|
i40iw_netdev_vlan_ipv6(cm_info.loc_addr,
|
|
|
- &cm_info.vlan_id,
|
|
|
- NULL);
|
|
|
+ &cm_info.vlan_id);
|
|
|
else
|
|
|
wildcard = true;
|
|
|
}
|