mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-18 11:16:42 +07:00
Merge branch 'hns3-fixes'
Huazhong Tan says: ==================== net: hns3: fixes for -net This series includes three bugfixes for the HNS3 ethernet driver. [patch 1] fixes a management table lost issue after IMP reset. [patch 2] fixes a VF bandwidth configuration not work problem. [patch 3] fixes a problem related to IPv6 address copying. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
dc221a28d0
@ -6113,6 +6113,9 @@ static int hclge_get_all_rules(struct hnae3_handle *handle,
|
|||||||
static void hclge_fd_get_flow_tuples(const struct flow_keys *fkeys,
|
static void hclge_fd_get_flow_tuples(const struct flow_keys *fkeys,
|
||||||
struct hclge_fd_rule_tuples *tuples)
|
struct hclge_fd_rule_tuples *tuples)
|
||||||
{
|
{
|
||||||
|
#define flow_ip6_src fkeys->addrs.v6addrs.src.in6_u.u6_addr32
|
||||||
|
#define flow_ip6_dst fkeys->addrs.v6addrs.dst.in6_u.u6_addr32
|
||||||
|
|
||||||
tuples->ether_proto = be16_to_cpu(fkeys->basic.n_proto);
|
tuples->ether_proto = be16_to_cpu(fkeys->basic.n_proto);
|
||||||
tuples->ip_proto = fkeys->basic.ip_proto;
|
tuples->ip_proto = fkeys->basic.ip_proto;
|
||||||
tuples->dst_port = be16_to_cpu(fkeys->ports.dst);
|
tuples->dst_port = be16_to_cpu(fkeys->ports.dst);
|
||||||
@ -6121,12 +6124,12 @@ static void hclge_fd_get_flow_tuples(const struct flow_keys *fkeys,
|
|||||||
tuples->src_ip[3] = be32_to_cpu(fkeys->addrs.v4addrs.src);
|
tuples->src_ip[3] = be32_to_cpu(fkeys->addrs.v4addrs.src);
|
||||||
tuples->dst_ip[3] = be32_to_cpu(fkeys->addrs.v4addrs.dst);
|
tuples->dst_ip[3] = be32_to_cpu(fkeys->addrs.v4addrs.dst);
|
||||||
} else {
|
} else {
|
||||||
memcpy(tuples->src_ip,
|
int i;
|
||||||
fkeys->addrs.v6addrs.src.in6_u.u6_addr32,
|
|
||||||
sizeof(tuples->src_ip));
|
for (i = 0; i < IPV6_SIZE; i++) {
|
||||||
memcpy(tuples->dst_ip,
|
tuples->src_ip[i] = be32_to_cpu(flow_ip6_src[i]);
|
||||||
fkeys->addrs.v6addrs.dst.in6_u.u6_addr32,
|
tuples->dst_ip[i] = be32_to_cpu(flow_ip6_dst[i]);
|
||||||
sizeof(tuples->dst_ip));
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -9834,6 +9837,13 @@ static int hclge_reset_ae_dev(struct hnae3_ae_dev *ae_dev)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ret = init_mgr_tbl(hdev);
|
||||||
|
if (ret) {
|
||||||
|
dev_err(&pdev->dev,
|
||||||
|
"failed to reinit manager table, ret = %d\n", ret);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
ret = hclge_init_fd_config(hdev);
|
ret = hclge_init_fd_config(hdev);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(&pdev->dev, "fd table init fail, ret=%d\n", ret);
|
dev_err(&pdev->dev, "fd table init fail, ret=%d\n", ret);
|
||||||
|
@ -566,7 +566,7 @@ static void hclge_tm_vport_tc_info_update(struct hclge_vport *vport)
|
|||||||
*/
|
*/
|
||||||
kinfo->num_tc = vport->vport_id ? 1 :
|
kinfo->num_tc = vport->vport_id ? 1 :
|
||||||
min_t(u16, vport->alloc_tqps, hdev->tm_info.num_tc);
|
min_t(u16, vport->alloc_tqps, hdev->tm_info.num_tc);
|
||||||
vport->qs_offset = (vport->vport_id ? hdev->tm_info.num_tc : 0) +
|
vport->qs_offset = (vport->vport_id ? HNAE3_MAX_TC : 0) +
|
||||||
(vport->vport_id ? (vport->vport_id - 1) : 0);
|
(vport->vport_id ? (vport->vport_id - 1) : 0);
|
||||||
|
|
||||||
max_rss_size = min_t(u16, hdev->rss_size_max,
|
max_rss_size = min_t(u16, hdev->rss_size_max,
|
||||||
|
Loading…
Reference in New Issue
Block a user