diff options
author | Simon Horman <horms@verge.net.au> | 2014-01-29 15:13:19 +0900 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2014-02-03 15:32:38 -0800 |
commit | 836fbda7fd9901d77e3d702ba66839dfa5f656de (patch) | |
tree | 761014bb330672dc23bd2589a590444fbf7dd940 /ofproto | |
parent | 29dd5cb732fe935246475811cdc9f2a3ac785435 (diff) | |
download | openvswitch-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.c | 7 | ||||
-rw-r--r-- | ofproto/ofproto-dpif-xlate.c | 22 | ||||
-rw-r--r-- | ofproto/ofproto-dpif-xlate.h | 3 | ||||
-rw-r--r-- | ofproto/ofproto-dpif.c | 5 |
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; } |