[ovs-dev] [bug9964 3/5] ofproto: connmgr_send_packet_in() doesn't need buffer_id and total_len.
Ben Pfaff
blp at nicira.com
Mon Mar 12 21:38:24 UTC 2012
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
More information about the dev
mailing list