From: Paul Blakey <pa...@mellanox.com> Refactor nl_msg_put_flower_options to be more readable. This commit doesn't change functionality.
Signed-off-by: Paul Blakey <pa...@mellanox.com> Reviewed-by: Roi Dayan <r...@mellanox.com> --- lib/tc.c | 69 +++++++++++++--------------------------------------------------- 1 file changed, 14 insertions(+), 55 deletions(-) diff --git a/lib/tc.c b/lib/tc.c index 401690e..563aba4 100644 --- a/lib/tc.c +++ b/lib/tc.c @@ -970,6 +970,10 @@ nl_msg_put_flower_tunnel(struct ofpbuf *request, struct tc_flower *flower) nl_msg_put_be16(request, TCA_FLOWER_KEY_ENC_UDP_DST_PORT, tp_dst); } +#define FLOWER_PUT_MASKED_VALUE(member, type) \ + nl_msg_put_masked_value(request, type, type##_MASK, &flower->key.member, \ + &flower->mask.member, sizeof flower->key.member) + static void nl_msg_put_flower_options(struct ofpbuf *request, struct tc_flower *flower) { @@ -980,17 +984,8 @@ nl_msg_put_flower_options(struct ofpbuf *request, struct tc_flower *flower) host_eth_type = ntohs(flower->key.encap_eth_type); } - nl_msg_put_masked_value(request, - TCA_FLOWER_KEY_ETH_DST, - TCA_FLOWER_KEY_ETH_DST_MASK, - &flower->key.dst_mac, - &flower->mask.dst_mac, ETH_ALEN); - - nl_msg_put_masked_value(request, - TCA_FLOWER_KEY_ETH_SRC, - TCA_FLOWER_KEY_ETH_SRC_MASK, - &flower->key.src_mac, - &flower->mask.src_mac, ETH_ALEN); + FLOWER_PUT_MASKED_VALUE(dst_mac, TCA_FLOWER_KEY_ETH_DST); + FLOWER_PUT_MASKED_VALUE(src_mac, TCA_FLOWER_KEY_ETH_SRC); if (host_eth_type == ETH_P_IP || host_eth_type == ETH_P_IPV6) { if (flower->mask.ip_proto && flower->key.ip_proto) { @@ -999,56 +994,20 @@ nl_msg_put_flower_options(struct ofpbuf *request, struct tc_flower *flower) } if (flower->key.ip_proto == IPPROTO_UDP) { - nl_msg_put_masked_value(request, - TCA_FLOWER_KEY_UDP_SRC, - TCA_FLOWER_KEY_UDP_SRC_MASK, - &flower->key.src_port, - &flower->mask.src_port, 2); - nl_msg_put_masked_value(request, - TCA_FLOWER_KEY_UDP_DST, - TCA_FLOWER_KEY_UDP_DST_MASK, - &flower->key.dst_port, - &flower->mask.dst_port, 2); + FLOWER_PUT_MASKED_VALUE(src_port, TCA_FLOWER_KEY_UDP_SRC); + FLOWER_PUT_MASKED_VALUE(dst_port, TCA_FLOWER_KEY_UDP_DST); } else if (flower->key.ip_proto == IPPROTO_TCP) { - nl_msg_put_masked_value(request, - TCA_FLOWER_KEY_TCP_SRC, - TCA_FLOWER_KEY_TCP_SRC_MASK, - &flower->key.src_port, - &flower->mask.src_port, 2); - nl_msg_put_masked_value(request, - TCA_FLOWER_KEY_TCP_DST, - TCA_FLOWER_KEY_TCP_DST_MASK, - &flower->key.dst_port, - &flower->mask.dst_port, 2); + FLOWER_PUT_MASKED_VALUE(src_port, TCA_FLOWER_KEY_TCP_SRC); + FLOWER_PUT_MASKED_VALUE(dst_port, TCA_FLOWER_KEY_TCP_DST); } } if (host_eth_type == ETH_P_IP) { - nl_msg_put_masked_value(request, - TCA_FLOWER_KEY_IPV4_SRC, - TCA_FLOWER_KEY_IPV4_SRC_MASK, - &flower->key.ipv4.ipv4_src, - &flower->mask.ipv4.ipv4_src, - sizeof flower->key.ipv4.ipv4_src); - nl_msg_put_masked_value(request, - TCA_FLOWER_KEY_IPV4_DST, - TCA_FLOWER_KEY_IPV4_DST_MASK, - &flower->key.ipv4.ipv4_dst, - &flower->mask.ipv4.ipv4_dst, - sizeof flower->key.ipv4.ipv4_dst); + FLOWER_PUT_MASKED_VALUE(ipv4.ipv4_src, TCA_FLOWER_KEY_IPV4_SRC); + FLOWER_PUT_MASKED_VALUE(ipv4.ipv4_dst, TCA_FLOWER_KEY_IPV4_DST); } else if (host_eth_type == ETH_P_IPV6) { - nl_msg_put_masked_value(request, - TCA_FLOWER_KEY_IPV6_SRC, - TCA_FLOWER_KEY_IPV6_SRC_MASK, - &flower->key.ipv6.ipv6_src, - &flower->mask.ipv6.ipv6_src, - sizeof flower->key.ipv6.ipv6_src); - nl_msg_put_masked_value(request, - TCA_FLOWER_KEY_IPV6_DST, - TCA_FLOWER_KEY_IPV6_DST_MASK, - &flower->key.ipv6.ipv6_dst, - &flower->mask.ipv6.ipv6_dst, - sizeof flower->key.ipv6.ipv6_dst); + FLOWER_PUT_MASKED_VALUE(ipv6.ipv6_src, TCA_FLOWER_KEY_IPV6_SRC); + FLOWER_PUT_MASKED_VALUE(ipv6.ipv6_dst, TCA_FLOWER_KEY_IPV6_DST); } nl_msg_put_be16(request, TCA_FLOWER_KEY_ETH_TYPE, flower->key.eth_type); -- 2.7.4 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev