[ovs-dev] [PATCH v2 09/16] ofproto: Implement OpenFlow 1.3+ table features request.

Jarno Rajahalme jrajahalme at nicira.com
Fri Aug 8 20:07:00 UTC 2014


Small nits below. Also, I did not verify this against the OpenFlow spec. Otherwise:

Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>

On Aug 7, 2014, at 4:13 PM, Ben Pfaff <blp at nicira.com> wrote:

> Signed-off-by: Ben Pfaff <blp at nicira.com>
>
(snip)

> struct ofputil_meter_band {
> diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c
> index 6bcec1e..cbac36a 100644
> --- a/ofproto/ofproto.c
> +++ b/ofproto/ofproto.c
> @@ -3189,6 +3189,38 @@ handle_table_stats_request(struct ofconn *ofconn,
>     return 0;
> }
> 
> +static enum ofperr
> +handle_table_features_request(struct ofconn *ofconn,
> +                              const struct ofp_header *request)
> +{
> +    struct ofproto *ofproto = ofconn_get_ofproto(ofconn);
> +    struct ofputil_table_features *features;
> +    struct list replies;
> +    struct ofpbuf msg;
> +    size_t i;
> +
> +    ofpbuf_use_const(&msg, request, ntohs(request->length));
> +    ofpraw_pull_assert(&msg);
> +    if (ofpbuf_size(&msg) || ofpmp_more(request)) {
> +        return OFPERR_OFPTFFC_EPERM;
> +     }

Indentation wrong in the closing brace (horror!)

I guess you used the EPERM error code as nothing better was defined?

> +
> +    query_tables(ofproto, &features, NULL);
> +
> +    ofpmp_init(&replies, request);
> +    for (i = 0; i < ofproto->n_tables; i++) {
> +        if (!(ofproto->tables[i].flags & OFTABLE_HIDDEN)) {
> +            ofputil_append_table_features_reply(&features[i], &replies);
> +

Extra blank line…

> +        }
> +    }
> +    ofconn_send_replies(ofconn, &replies);
> +
> +    free(features);
> +
> +    return 0;
> +}
> +
> 

(snip)





More information about the dev mailing list