|
@@ -2348,23 +2348,19 @@ static void of_dpa_flow_fill(void *cookie, void *value, void *user_data)
|
|
|
|
|
|
if (memcmp(key->eth.src.a, zero_mac.a, ETH_ALEN) ||
|
|
|
memcmp(mask->eth.src.a, zero_mac.a, ETH_ALEN)) {
|
|
|
- nkey->has_eth_src = true;
|
|
|
nkey->eth_src = qemu_mac_strdup_printf(key->eth.src.a);
|
|
|
}
|
|
|
|
|
|
- if (nkey->has_eth_src && memcmp(mask->eth.src.a, ff_mac.a, ETH_ALEN)) {
|
|
|
- nmask->has_eth_src = true;
|
|
|
+ if (nkey->eth_src && memcmp(mask->eth.src.a, ff_mac.a, ETH_ALEN)) {
|
|
|
nmask->eth_src = qemu_mac_strdup_printf(mask->eth.src.a);
|
|
|
}
|
|
|
|
|
|
if (memcmp(key->eth.dst.a, zero_mac.a, ETH_ALEN) ||
|
|
|
memcmp(mask->eth.dst.a, zero_mac.a, ETH_ALEN)) {
|
|
|
- nkey->has_eth_dst = true;
|
|
|
nkey->eth_dst = qemu_mac_strdup_printf(key->eth.dst.a);
|
|
|
}
|
|
|
|
|
|
- if (nkey->has_eth_dst && memcmp(mask->eth.dst.a, ff_mac.a, ETH_ALEN)) {
|
|
|
- nmask->has_eth_dst = true;
|
|
|
+ if (nkey->eth_dst && memcmp(mask->eth.dst.a, ff_mac.a, ETH_ALEN)) {
|
|
|
nmask->eth_dst = qemu_mac_strdup_printf(mask->eth.dst.a);
|
|
|
}
|
|
|
|
|
@@ -2400,7 +2396,6 @@ static void of_dpa_flow_fill(void *cookie, void *value, void *user_data)
|
|
|
if (key->ipv4.addr.dst || mask->ipv4.addr.dst) {
|
|
|
char *dst = inet_ntoa(*(struct in_addr *)&key->ipv4.addr.dst);
|
|
|
int dst_len = of_dpa_mask2prefix(mask->ipv4.addr.dst);
|
|
|
- nkey->has_ip_dst = true;
|
|
|
nkey->ip_dst = g_strdup_printf("%s/%d", dst, dst_len);
|
|
|
}
|
|
|
break;
|
|
@@ -2501,12 +2496,10 @@ static void of_dpa_group_fill(void *key, void *value, void *user_data)
|
|
|
ngroup->set_vlan_id = ntohs(group->l2_rewrite.vlan_id);
|
|
|
}
|
|
|
if (memcmp(group->l2_rewrite.src_mac.a, zero_mac.a, ETH_ALEN)) {
|
|
|
- ngroup->has_set_eth_src = true;
|
|
|
ngroup->set_eth_src =
|
|
|
qemu_mac_strdup_printf(group->l2_rewrite.src_mac.a);
|
|
|
}
|
|
|
if (memcmp(group->l2_rewrite.dst_mac.a, zero_mac.a, ETH_ALEN)) {
|
|
|
- ngroup->has_set_eth_dst = true;
|
|
|
ngroup->set_eth_dst =
|
|
|
qemu_mac_strdup_printf(group->l2_rewrite.dst_mac.a);
|
|
|
}
|
|
@@ -2532,12 +2525,10 @@ static void of_dpa_group_fill(void *key, void *value, void *user_data)
|
|
|
ngroup->set_vlan_id = ntohs(group->l3_unicast.vlan_id);
|
|
|
}
|
|
|
if (memcmp(group->l3_unicast.src_mac.a, zero_mac.a, ETH_ALEN)) {
|
|
|
- ngroup->has_set_eth_src = true;
|
|
|
ngroup->set_eth_src =
|
|
|
qemu_mac_strdup_printf(group->l3_unicast.src_mac.a);
|
|
|
}
|
|
|
if (memcmp(group->l3_unicast.dst_mac.a, zero_mac.a, ETH_ALEN)) {
|
|
|
- ngroup->has_set_eth_dst = true;
|
|
|
ngroup->set_eth_dst =
|
|
|
qemu_mac_strdup_printf(group->l3_unicast.dst_mac.a);
|
|
|
}
|