[ovs-dev] [flow monitor v2 05/12] ofp-print: Slightly extend ofp_print_bit_names().
Justin Pettit
jpettit at nicira.com
Sat Jul 7 22:05:24 UTC 2012
Looks good.
--Justin
On Jul 6, 2012, at 2:49 PM, Ben Pfaff wrote:
> In an upcoming commit I want to print comma-separated, not space-separated,
> names for a set of bits.
>
> Signed-off-by: Ben Pfaff <blp at nicira.com>
> ---
> lib/ofp-print.c | 20 +++++++++++---------
> 1 files changed, 11 insertions(+), 9 deletions(-)
>
> diff --git a/lib/ofp-print.c b/lib/ofp-print.c
> index baa7a6c..41baab6 100644
> --- a/lib/ofp-print.c
> +++ b/lib/ofp-print.c
> @@ -206,7 +206,8 @@ compare_ports(const void *a_, const void *b_)
>
> static void
> ofp_print_bit_names(struct ds *string, uint32_t bits,
> - const char *(*bit_to_name)(uint32_t bit))
> + const char *(*bit_to_name)(uint32_t bit),
> + char separator)
> {
> int n = 0;
> int i;
> @@ -223,7 +224,7 @@ ofp_print_bit_names(struct ds *string, uint32_t bits,
> const char *name = bit_to_name(bit);
> if (name) {
> if (n++) {
> - ds_put_char(string, ' ');
> + ds_put_char(string, separator);
> }
> ds_put_cstr(string, name);
> bits &= ~bit;
> @@ -233,7 +234,7 @@ ofp_print_bit_names(struct ds *string, uint32_t bits,
>
> if (bits) {
> if (n) {
> - ds_put_char(string, ' ');
> + ds_put_char(string, separator);
> }
> ds_put_format(string, "0x%"PRIx32, bits);
> }
> @@ -269,7 +270,7 @@ netdev_feature_to_name(uint32_t bit)
> static void
> ofp_print_port_features(struct ds *string, enum netdev_features features)
> {
> - ofp_print_bit_names(string, features, netdev_feature_to_name);
> + ofp_print_bit_names(string, features, netdev_feature_to_name, ' ');
> ds_put_char(string, '\n');
> }
>
> @@ -294,7 +295,7 @@ ofputil_port_config_to_name(uint32_t bit)
> static void
> ofp_print_port_config(struct ds *string, enum ofputil_port_config config)
> {
> - ofp_print_bit_names(string, config, ofputil_port_config_to_name);
> + ofp_print_bit_names(string, config, ofputil_port_config_to_name, ' ');
> ds_put_char(string, '\n');
> }
>
> @@ -339,10 +340,11 @@ ofp_print_port_state(struct ds *string, enum ofputil_port_state state)
> : "STP_BLOCK"));
> state &= ~OFPUTIL_PS_STP_MASK;
> if (state) {
> - ofp_print_bit_names(string, state, ofputil_port_state_to_name);
> + ofp_print_bit_names(string, state, ofputil_port_state_to_name,
> + ' ');
> }
> } else {
> - ofp_print_bit_names(string, state, ofputil_port_state_to_name);
> + ofp_print_bit_names(string, state, ofputil_port_state_to_name, ' ');
> }
> ds_put_char(string, '\n');
> }
> @@ -502,12 +504,12 @@ ofp_print_switch_features(struct ds *string,
>
> ds_put_cstr(string, "capabilities: ");
> ofp_print_bit_names(string, features.capabilities,
> - ofputil_capabilities_to_name);
> + ofputil_capabilities_to_name, ' ');
> ds_put_char(string, '\n');
>
> ds_put_cstr(string, "actions: ");
> ofp_print_bit_names(string, features.actions,
> - ofputil_action_bitmap_to_name);
> + ofputil_action_bitmap_to_name, ' ');
> ds_put_char(string, '\n');
>
> ofp_print_phy_ports(string, osf->header.version, &b);
> --
> 1.7.2.5
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
More information about the dev
mailing list