summaryrefslogtreecommitdiff
path: root/ofproto
diff options
context:
space:
mode:
authorSimon Horman <horms@verge.net.au>2014-01-29 15:13:19 +0900
committerBen Pfaff <blp@nicira.com>2014-02-03 15:32:38 -0800
commit836fbda7fd9901d77e3d702ba66839dfa5f656de (patch)
tree761014bb330672dc23bd2589a590444fbf7dd940 /ofproto
parent29dd5cb732fe935246475811cdc9f2a3ac785435 (diff)
downloadopenvswitch-836fbda7fd9901d77e3d702ba66839dfa5f656de.tar.gz
ofproto-dpif-xlate: Remove unused fitnessp pararameter from xlate_receive
Some functions pass a non-NULL value as this parameter but none of those function uses the value xlate_receive() returns there. So simply remove the parameter all together. Also remove the now unused key_fitness field of struct flow_miss. Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'ofproto')
-rw-r--r--ofproto/ofproto-dpif-upcall.c7
-rw-r--r--ofproto/ofproto-dpif-xlate.c22
-rw-r--r--ofproto/ofproto-dpif-xlate.h3
-rw-r--r--ofproto/ofproto-dpif.c5
4 files changed, 12 insertions, 25 deletions
diff --git a/ofproto/ofproto-dpif-upcall.c b/ofproto/ofproto-dpif-upcall.c
index bfe85fe91..0da402d10 100644
--- a/ofproto/ofproto-dpif-upcall.c
+++ b/ofproto/ofproto-dpif-upcall.c
@@ -202,7 +202,6 @@ struct flow_miss {
struct ofproto_dpif *ofproto;
struct flow flow;
- enum odp_key_fitness key_fitness;
const struct nlattr *key;
size_t key_len;
enum dpif_upcall_type upcall_type;
@@ -941,7 +940,7 @@ handle_upcalls(struct handler *handler, struct list *upcalls)
int error;
error = xlate_receive(udpif->backer, packet, dupcall->key,
- dupcall->key_len, &flow, &miss->key_fitness,
+ dupcall->key_len, &flow,
&ofproto, &ipfix, &sflow, NULL, &odp_in_port);
if (error) {
if (error == ENODEV) {
@@ -1300,7 +1299,7 @@ revalidate_ukey(struct udpif *udpif, struct udpif_flow_dump *udump,
}
error = xlate_receive(udpif->backer, NULL, ukey->key, ukey->key_len, &flow,
- NULL, &ofproto, NULL, NULL, NULL, &odp_in_port);
+ &ofproto, NULL, NULL, NULL, &odp_in_port);
if (error) {
goto exit;
}
@@ -1463,7 +1462,7 @@ revalidate_udumps(struct revalidator *revalidator, struct list *udumps)
struct flow flow;
if (!xlate_receive(udpif->backer, NULL, ops[i].op.u.flow_del.key,
- ops[i].op.u.flow_del.key_len, &flow, NULL,
+ ops[i].op.u.flow_del.key_len, &flow,
&ofproto, NULL, NULL, &netflow, NULL)) {
struct xlate_in xin;
diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c
index c5e660093..b171e495a 100644
--- a/ofproto/ofproto-dpif-xlate.c
+++ b/ofproto/ofproto-dpif-xlate.c
@@ -520,12 +520,10 @@ xlate_ofport_remove(struct ofport_dpif *ofport)
/* Given a datpath, packet, and flow metadata ('backer', 'packet', and 'key'
* respectively), populates 'flow' with the result of odp_flow_key_to_flow().
- * Optionally, if nonnull, populates 'fitnessp' with the fitness of 'flow' as
- * returned by odp_flow_key_to_flow(). Also, optionally populates 'ofproto'
- * with the ofproto_dpif, 'odp_in_port' with the datapath in_port, that
- * 'packet' ingressed, and 'ipfix', 'sflow', and 'netflow' with the appropriate
- * handles for those protocols if they're enabled. Caller is responsible for
- * unrefing them.
+ * Optionally populates 'ofproto' with the ofproto_dpif, 'odp_in_port' with
+ * the datapath in_port, that 'packet' ingressed, and 'ipfix', 'sflow', and
+ * 'netflow' with the appropriate handles for those protocols if they're
+ * enabled. Caller is responsible for unrefing them.
*
* If 'ofproto' is nonnull, requires 'flow''s in_port to exist. Otherwise sets
* 'flow''s in_port to OFPP_NONE.
@@ -545,19 +543,16 @@ xlate_ofport_remove(struct ofport_dpif *ofport)
* or some other positive errno if there are other problems. */
int
xlate_receive(const struct dpif_backer *backer, struct ofpbuf *packet,
- const struct nlattr *key, size_t key_len,
- struct flow *flow, enum odp_key_fitness *fitnessp,
+ const struct nlattr *key, size_t key_len, struct flow *flow,
struct ofproto_dpif **ofproto, struct dpif_ipfix **ipfix,
struct dpif_sflow **sflow, struct netflow **netflow,
odp_port_t *odp_in_port)
{
- enum odp_key_fitness fitness;
const struct xport *xport;
int error = ENODEV;
ovs_rwlock_rdlock(&xlate_rwlock);
- fitness = odp_flow_key_to_flow(key, key_len, flow);
- if (fitness == ODP_FIT_ERROR) {
+ if (odp_flow_key_to_flow(key, key_len, flow) == ODP_FIT_ERROR) {
error = EINVAL;
goto exit;
}
@@ -583,8 +578,6 @@ xlate_receive(const struct dpif_backer *backer, struct ofpbuf *packet,
* vlan_tci if it is called on 'packet'. */
eth_push_vlan(packet, htons(ETH_TYPE_VLAN), flow->vlan_tci);
}
- /* We can't reproduce 'key' from 'flow'. */
- fitness = fitness == ODP_FIT_PERFECT ? ODP_FIT_TOO_MUCH : fitness;
}
error = 0;
@@ -605,9 +598,6 @@ xlate_receive(const struct dpif_backer *backer, struct ofpbuf *packet,
}
exit:
- if (fitnessp) {
- *fitnessp = fitness;
- }
ovs_rwlock_unlock(&xlate_rwlock);
return error;
}
diff --git a/ofproto/ofproto-dpif-xlate.h b/ofproto/ofproto-dpif-xlate.h
index 982f1a468..173b4798b 100644
--- a/ofproto/ofproto-dpif-xlate.h
+++ b/ofproto/ofproto-dpif-xlate.h
@@ -152,8 +152,7 @@ void xlate_ofport_remove(struct ofport_dpif *) OVS_REQ_WRLOCK(xlate_rwlock);
int xlate_receive(const struct dpif_backer *, struct ofpbuf *packet,
const struct nlattr *key, size_t key_len,
- struct flow *, enum odp_key_fitness *,
- struct ofproto_dpif **, struct dpif_ipfix **,
+ struct flow *, struct ofproto_dpif **, struct dpif_ipfix **,
struct dpif_sflow **, struct netflow **,
odp_port_t *odp_in_port)
OVS_EXCLUDED(xlate_rwlock);
diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
index cc1e9d5ad..a3cd3ec26 100644
--- a/ofproto/ofproto-dpif.c
+++ b/ofproto/ofproto-dpif.c
@@ -3655,7 +3655,7 @@ parse_flow_and_packet(int argc, const char *argv[],
}
if (xlate_receive(backer, NULL, odp_key.data, odp_key.size, flow,
- NULL, ofprotop, NULL, NULL, NULL, NULL)) {
+ ofprotop, NULL, NULL, NULL, NULL)) {
error = "Invalid datapath flow";
goto exit;
}
@@ -4040,11 +4040,10 @@ static bool
ofproto_dpif_contains_flow(const struct ofproto_dpif *ofproto,
const struct nlattr *key, size_t key_len)
{
- enum odp_key_fitness fitness;
struct ofproto_dpif *ofp;
struct flow flow;
- xlate_receive(ofproto->backer, NULL, key, key_len, &flow, &fitness, &ofp,
+ xlate_receive(ofproto->backer, NULL, key, key_len, &flow, &ofp,
NULL, NULL, NULL, NULL);
return ofp == ofproto;
}