static void
probe_tc_block_support(int ifindex)
{
+ struct tc_flower flower;
uint32_t block_id = 1;
int error;
return;
}
+ memset(&flower, 0, sizeof flower);
+
+ flower.key.eth_type = htons(ETH_P_IP);
+ flower.mask.eth_type = OVS_BE16_MAX;
+ memset(&flower.key.dst_mac, 0x11, sizeof flower.key.dst_mac);
+ memset(&flower.mask.dst_mac, 0xff, sizeof flower.mask.dst_mac);
+
+ error = tc_replace_flower(ifindex, 1, 1, &flower, block_id);
+
tc_add_del_ingress_qdisc(ifindex, false, block_id);
- block_support = true;
- VLOG_INFO("probe tc: block offload is supported.");
+ if (!error) {
+ block_support = true;
+ VLOG_INFO("probe tc: block offload is supported.");
+ }
}
int