diff options
Diffstat (limited to 'drivers/net/niu.c')
-rw-r--r-- | drivers/net/niu.c | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/drivers/net/niu.c b/drivers/net/niu.c index 8e1859c801a4..e36a83845a1c 100644 --- a/drivers/net/niu.c +++ b/drivers/net/niu.c | |||
@@ -7462,10 +7462,12 @@ static int niu_add_ethtool_tcam_entry(struct niu *np, | |||
7462 | if (fsp->flow_type == IP_USER_FLOW) { | 7462 | if (fsp->flow_type == IP_USER_FLOW) { |
7463 | int i; | 7463 | int i; |
7464 | int add_usr_cls = 0; | 7464 | int add_usr_cls = 0; |
7465 | int ipv6 = 0; | ||
7466 | struct ethtool_usrip4_spec *uspec = &fsp->h_u.usr_ip4_spec; | 7465 | struct ethtool_usrip4_spec *uspec = &fsp->h_u.usr_ip4_spec; |
7467 | struct ethtool_usrip4_spec *umask = &fsp->m_u.usr_ip4_spec; | 7466 | struct ethtool_usrip4_spec *umask = &fsp->m_u.usr_ip4_spec; |
7468 | 7467 | ||
7468 | if (uspec->ip_ver != ETH_RX_NFC_IP4) | ||
7469 | return -EINVAL; | ||
7470 | |||
7469 | niu_lock_parent(np, flags); | 7471 | niu_lock_parent(np, flags); |
7470 | 7472 | ||
7471 | for (i = 0; i < NIU_L3_PROG_CLS; i++) { | 7473 | for (i = 0; i < NIU_L3_PROG_CLS; i++) { |
@@ -7494,9 +7496,7 @@ static int niu_add_ethtool_tcam_entry(struct niu *np, | |||
7494 | default: | 7496 | default: |
7495 | break; | 7497 | break; |
7496 | } | 7498 | } |
7497 | if (uspec->ip_ver == ETH_RX_NFC_IP6) | 7499 | ret = tcam_user_ip_class_set(np, class, 0, |
7498 | ipv6 = 1; | ||
7499 | ret = tcam_user_ip_class_set(np, class, ipv6, | ||
7500 | uspec->proto, | 7500 | uspec->proto, |
7501 | uspec->tos, | 7501 | uspec->tos, |
7502 | umask->tos); | 7502 | umask->tos); |
@@ -7553,16 +7553,7 @@ static int niu_add_ethtool_tcam_entry(struct niu *np, | |||
7553 | ret = -EINVAL; | 7553 | ret = -EINVAL; |
7554 | goto out; | 7554 | goto out; |
7555 | case IP_USER_FLOW: | 7555 | case IP_USER_FLOW: |
7556 | if (fsp->h_u.usr_ip4_spec.ip_ver == ETH_RX_NFC_IP4) { | 7556 | niu_get_tcamkey_from_ip4fs(fsp, tp, l2_rdc_table, class); |
7557 | niu_get_tcamkey_from_ip4fs(fsp, tp, l2_rdc_table, | ||
7558 | class); | ||
7559 | } else { | ||
7560 | /* Not yet implemented */ | ||
7561 | netdev_info(np->dev, "niu%d: In %s(): usr flow for IPv6 not implemented\n", | ||
7562 | parent->index, __func__); | ||
7563 | ret = -EINVAL; | ||
7564 | goto out; | ||
7565 | } | ||
7566 | break; | 7557 | break; |
7567 | default: | 7558 | default: |
7568 | netdev_info(np->dev, "niu%d: In %s(): Unknown flow type %d\n", | 7559 | netdev_info(np->dev, "niu%d: In %s(): Unknown flow type %d\n", |