Looks good, only minor nit picks.

Ethan

> + * If 'rw_packet' is nonnull, then it must contain the same data as
> + * upcall->packet.  'rw_packet' is allowed to be the same ofpbuf as
> + * upcall->packet.  It is modified in-place into an OFPT_PACKET_IN message
> + * according to 'pin', and then ofputil_encode_packet_in() returns 
> 'rw_packet'.
> + * If 'rw_packet' has enough headroom to insert a "struct ofp_packet_in", 
> this
> + * is more efficient than ofputil_encode_packet_in() because it does not copy
> + * the packet payload. */

I think this comment could use a short explanation of what upcall is,
or a reference to where one would find out.  I was a bit confused when
first reading it.

> +struct ofpbuf *
> +ofputil_encode_packet_in(const struct ofputil_packet_in *pin,
> +                        struct ofpbuf *rw_packet)
> +{
> +    int total_len = pin->packet->size;
> +    struct ofp_packet_in *opi;
> +
> +    if (rw_packet) {
> +        if (pin->send_len < rw_packet->size) {
> +            rw_packet->size = pin->send_len;
> +        }
> +    } else {
> +        rw_packet = ofpbuf_clone_data_with_headroom(
> +            pin->packet->data, MIN(pin->send_len, pin->packet->size),
> +            offsetof(struct ofp_packet_in, data));
> +    }
> +
> +

Extra newline here.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to