@@ -1645,11 +1645,6 @@ static struct mlx5_ib_flow_handler *create_flow_rule(struct mlx5_ib_dev *dev,
1645
1645
return _create_flow_rule (dev , ft_prio , flow_attr , dst , 0 , NULL );
1646
1646
}
1647
1647
1648
- enum {
1649
- LEFTOVERS_MC ,
1650
- LEFTOVERS_UC ,
1651
- };
1652
-
1653
1648
static struct mlx5_ib_flow_handler * create_leftovers_rule (struct mlx5_ib_dev * dev ,
1654
1649
struct mlx5_ib_flow_prio * ft_prio ,
1655
1650
struct ib_flow_attr * flow_attr ,
@@ -1659,43 +1654,32 @@ static struct mlx5_ib_flow_handler *create_leftovers_rule(struct mlx5_ib_dev *de
1659
1654
struct mlx5_ib_flow_handler * handler = NULL ;
1660
1655
1661
1656
static struct {
1662
- struct ib_flow_attr flow_attr ;
1663
1657
struct ib_flow_spec_eth eth_flow ;
1664
- } leftovers_specs [] = {
1665
- [LEFTOVERS_MC ] = {
1666
- .flow_attr = {
1667
- .num_of_specs = 1 ,
1668
- .size = sizeof (leftovers_specs [0 ])
1669
- },
1670
- .eth_flow = {
1671
- .type = IB_FLOW_SPEC_ETH ,
1672
- .size = sizeof (struct ib_flow_spec_eth ),
1673
- .mask = {.dst_mac = {0x1 } },
1674
- .val = {.dst_mac = {0x1 } }
1675
- }
1676
- },
1677
- [LEFTOVERS_UC ] = {
1678
- .flow_attr = {
1679
- .num_of_specs = 1 ,
1680
- .size = sizeof (leftovers_specs [0 ])
1681
- },
1682
- .eth_flow = {
1683
- .type = IB_FLOW_SPEC_ETH ,
1684
- .size = sizeof (struct ib_flow_spec_eth ),
1685
- .mask = {.dst_mac = {0x1 } },
1686
- .val = {.dst_mac = {} }
1687
- }
1688
- }
1689
- };
1658
+ struct ib_flow_attr flow_attr ;
1659
+ } leftovers_wc = { .flow_attr = { .num_of_specs = 1 ,
1660
+ .size = sizeof (leftovers_wc ) },
1661
+ .eth_flow = {
1662
+ .type = IB_FLOW_SPEC_ETH ,
1663
+ .size = sizeof (struct ib_flow_spec_eth ),
1664
+ .mask = { .dst_mac = { 0x1 } },
1665
+ .val = { .dst_mac = { 0x1 } } } };
1690
1666
1691
- handler = create_flow_rule (dev , ft_prio ,
1692
- & leftovers_specs [LEFTOVERS_MC ].flow_attr ,
1693
- dst );
1667
+ static struct {
1668
+ struct ib_flow_spec_eth eth_flow ;
1669
+ struct ib_flow_attr flow_attr ;
1670
+ } leftovers_uc = { .flow_attr = { .num_of_specs = 1 ,
1671
+ .size = sizeof (leftovers_uc ) },
1672
+ .eth_flow = {
1673
+ .type = IB_FLOW_SPEC_ETH ,
1674
+ .size = sizeof (struct ib_flow_spec_eth ),
1675
+ .mask = { .dst_mac = { 0x1 } },
1676
+ .val = { .dst_mac = {} } } };
1677
+
1678
+ handler = create_flow_rule (dev , ft_prio , & leftovers_wc .flow_attr , dst );
1694
1679
if (!IS_ERR (handler ) &&
1695
1680
flow_attr -> type == IB_FLOW_ATTR_ALL_DEFAULT ) {
1696
1681
handler_ucast = create_flow_rule (dev , ft_prio ,
1697
- & leftovers_specs [LEFTOVERS_UC ].flow_attr ,
1698
- dst );
1682
+ & leftovers_uc .flow_attr , dst );
1699
1683
if (IS_ERR (handler_ucast )) {
1700
1684
mlx5_del_flow_rules (handler -> rule );
1701
1685
ft_prio -> refcount -- ;
0 commit comments