[ovs-dev] [bug9964 3/5] ofproto: connmgr_send_packet_in() doesn't need buffer_id and total_len.

Ethan Jackson ethan at nicira.com
Wed Mar 14 21:43:09 UTC 2012


Looks good thank you.

Ethan

On Mon, Mar 12, 2012 at 14:38, Ben Pfaff <blp at nicira.com> wrote:
> Trying to add a new caller for connmgr_send_packet_in(), I wasn't sure
> what to put in these members.  Investigating, I saw that the function
> didn't really need them, so this commit clears that up.
>
> Signed-off-by: Ben Pfaff <blp at nicira.com>
> ---
>  ofproto/connmgr.c      |    6 +++++-
>  ofproto/ofproto-dpif.c |    4 ----
>  2 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/ofproto/connmgr.c b/ofproto/connmgr.c
> index 4343622..1f5fbed 100644
> --- a/ofproto/connmgr.c
> +++ b/ofproto/connmgr.c
> @@ -1278,7 +1278,9 @@ connmgr_send_flow_removed(struct connmgr *mgr,
>  }
>
>  /* Given 'pin', sends an OFPT_PACKET_IN message to each OpenFlow controller as
> - * necessary according to their individual configurations. */
> + * necessary according to their individual configurations.
> + *
> + * The caller doesn't need to fill in pin->buffer_id or pin->total_len. */
>  void
>  connmgr_send_packet_in(struct connmgr *mgr,
>                        const struct ofputil_packet_in *pin)
> @@ -1310,6 +1312,8 @@ schedule_packet_in(struct ofconn *ofconn, struct ofputil_packet_in pin)
>  {
>     struct connmgr *mgr = ofconn->connmgr;
>
> +    pin.total_len = pin.packet_len;
> +
>     /* Get OpenFlow buffer_id. */
>     if (pin.reason == OFPR_ACTION) {
>         pin.buffer_id = UINT32_MAX;
> diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
> index 983fbd0..5a26bd1 100644
> --- a/ofproto/ofproto-dpif.c
> +++ b/ofproto/ofproto-dpif.c
> @@ -2471,14 +2471,12 @@ send_packet_in_miss(struct ofproto_dpif *ofproto, const struct ofpbuf *packet,
>
>     pin.packet = packet->data;
>     pin.packet_len = packet->size;
> -    pin.total_len = packet->size;
>     pin.reason = OFPR_NO_MATCH;
>     pin.controller_id = 0;
>
>     pin.table_id = 0;
>     pin.cookie = 0;
>
> -    pin.buffer_id = 0;          /* not yet known */
>     pin.send_len = 0;           /* not used for flow table misses */
>
>     flow_get_metadata(flow, &pin.fmd);
> @@ -4535,9 +4533,7 @@ execute_controller_action(struct action_xlate_ctx *ctx, int len,
>     pin.table_id = ctx->table_id;
>     pin.cookie = ctx->rule ? ctx->rule->up.flow_cookie : 0;
>
> -    pin.buffer_id = 0;
>     pin.send_len = len;
> -    pin.total_len = packet->size;
>     flow_get_metadata(&ctx->flow, &pin.fmd);
>
>     connmgr_send_packet_in(ctx->ofproto->up.connmgr, &pin);
> --
> 1.7.2.5
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev



More information about the dev mailing list