mirror of
https://github.com/openvswitch/ovs
synced 2025-10-11 13:57:52 +00:00
dp-packet: Add index to DP_PACKET_BATCH_FOR_EACH to prevent shadowing.
Signed-off-by: Justin Pettit <jpettit@ovn.org> Acked-by: Ben Pfaff <blp@ovn.org>
This commit is contained in:
@@ -4223,7 +4223,6 @@ dp_netdev_run_meter(struct dp_netdev *dp, struct dp_packet_batch *packets_,
|
||||
struct dp_packet *packet;
|
||||
long long int long_delta_t; /* msec */
|
||||
uint32_t delta_t; /* msec */
|
||||
int i;
|
||||
const size_t cnt = dp_packet_batch_size(packets_);
|
||||
uint32_t bytes, volume;
|
||||
int exceeded_band[NETDEV_MAX_BURST];
|
||||
@@ -4257,7 +4256,7 @@ dp_netdev_run_meter(struct dp_netdev *dp, struct dp_packet_batch *packets_,
|
||||
meter->used = now;
|
||||
meter->packet_count += cnt;
|
||||
bytes = 0;
|
||||
DP_PACKET_BATCH_FOR_EACH (packet, packets_) {
|
||||
DP_PACKET_BATCH_FOR_EACH (i, packet, packets_) {
|
||||
bytes += dp_packet_size(packet);
|
||||
}
|
||||
meter->byte_count += bytes;
|
||||
@@ -4299,7 +4298,7 @@ dp_netdev_run_meter(struct dp_netdev *dp, struct dp_packet_batch *packets_,
|
||||
/* Update the exceeding band for each exceeding packet.
|
||||
* (Only one band will be fired by a packet, and that
|
||||
* can be different for each packet.) */
|
||||
for (i = band_exceeded_pkt; i < cnt; i++) {
|
||||
for (int i = band_exceeded_pkt; i < cnt; i++) {
|
||||
if (band->up.rate > exceeded_rate[i]) {
|
||||
exceeded_rate[i] = band->up.rate;
|
||||
exceeded_band[i] = m;
|
||||
@@ -4308,7 +4307,7 @@ dp_netdev_run_meter(struct dp_netdev *dp, struct dp_packet_batch *packets_,
|
||||
} else {
|
||||
/* Packet sizes differ, must process one-by-one. */
|
||||
band_exceeded_pkt = cnt;
|
||||
DP_PACKET_BATCH_FOR_EACH (packet, packets_) {
|
||||
DP_PACKET_BATCH_FOR_EACH (i, packet, packets_) {
|
||||
uint32_t bits = dp_packet_size(packet) * 8;
|
||||
|
||||
if (band->bucket >= bits) {
|
||||
@@ -5147,9 +5146,8 @@ fast_path_processing(struct dp_netdev_pmd_thread *pmd,
|
||||
int upcall_ok_cnt = 0, upcall_fail_cnt = 0;
|
||||
int lookup_cnt = 0, add_lookup_cnt;
|
||||
bool any_miss;
|
||||
size_t i;
|
||||
|
||||
for (i = 0; i < cnt; i++) {
|
||||
for (size_t i = 0; i < cnt; i++) {
|
||||
/* Key length is needed in all the cases, hash computed on demand. */
|
||||
keys[i].len = netdev_flow_key_size(miniflow_n_values(&keys[i].mf));
|
||||
}
|
||||
@@ -5168,7 +5166,7 @@ fast_path_processing(struct dp_netdev_pmd_thread *pmd,
|
||||
ofpbuf_use_stub(&actions, actions_stub, sizeof actions_stub);
|
||||
ofpbuf_use_stub(&put_actions, slow_stub, sizeof slow_stub);
|
||||
|
||||
DP_PACKET_BATCH_FOR_EACH (packet, packets_) {
|
||||
DP_PACKET_BATCH_FOR_EACH (i, packet, packets_) {
|
||||
struct dp_netdev_flow *netdev_flow;
|
||||
|
||||
if (OVS_LIKELY(rules[i])) {
|
||||
@@ -5200,7 +5198,7 @@ fast_path_processing(struct dp_netdev_pmd_thread *pmd,
|
||||
ofpbuf_uninit(&put_actions);
|
||||
fat_rwlock_unlock(&dp->upcall_rwlock);
|
||||
} else if (OVS_UNLIKELY(any_miss)) {
|
||||
DP_PACKET_BATCH_FOR_EACH (packet, packets_) {
|
||||
DP_PACKET_BATCH_FOR_EACH (i, packet, packets_) {
|
||||
if (OVS_UNLIKELY(!rules[i])) {
|
||||
dp_packet_delete(packet);
|
||||
upcall_fail_cnt++;
|
||||
@@ -5208,7 +5206,7 @@ fast_path_processing(struct dp_netdev_pmd_thread *pmd,
|
||||
}
|
||||
}
|
||||
|
||||
DP_PACKET_BATCH_FOR_EACH (packet, packets_) {
|
||||
DP_PACKET_BATCH_FOR_EACH (i, packet, packets_) {
|
||||
struct dp_netdev_flow *flow;
|
||||
|
||||
if (OVS_UNLIKELY(!rules[i])) {
|
||||
@@ -5495,7 +5493,7 @@ dp_execute_cb(void *aux_, struct dp_packet_batch *packets_,
|
||||
pmd->n_output_batches++;
|
||||
}
|
||||
|
||||
DP_PACKET_BATCH_FOR_EACH (packet, packets_) {
|
||||
DP_PACKET_BATCH_FOR_EACH (i, packet, packets_) {
|
||||
p->output_pkts_rxqs[dp_packet_batch_size(&p->output_pkts)] =
|
||||
pmd->ctx.last_rxq;
|
||||
dp_packet_batch_add(&p->output_pkts, packet);
|
||||
@@ -5535,7 +5533,7 @@ dp_execute_cb(void *aux_, struct dp_packet_batch *packets_,
|
||||
}
|
||||
|
||||
struct dp_packet *packet;
|
||||
DP_PACKET_BATCH_FOR_EACH (packet, packets_) {
|
||||
DP_PACKET_BATCH_FOR_EACH (i, packet, packets_) {
|
||||
packet->md.in_port.odp_port = portno;
|
||||
}
|
||||
|
||||
@@ -5572,7 +5570,7 @@ dp_execute_cb(void *aux_, struct dp_packet_batch *packets_,
|
||||
}
|
||||
|
||||
struct dp_packet *packet;
|
||||
DP_PACKET_BATCH_FOR_EACH (packet, packets_) {
|
||||
DP_PACKET_BATCH_FOR_EACH (i, packet, packets_) {
|
||||
flow_extract(packet, &flow);
|
||||
dpif_flow_hash(dp->dpif, &flow, sizeof flow, &ufid);
|
||||
dp_execute_userspace_action(pmd, packet, may_steal, &flow,
|
||||
@@ -5600,7 +5598,7 @@ dp_execute_cb(void *aux_, struct dp_packet_batch *packets_,
|
||||
}
|
||||
|
||||
struct dp_packet *packet;
|
||||
DP_PACKET_BATCH_FOR_EACH (packet, packets_) {
|
||||
DP_PACKET_BATCH_FOR_EACH (i, packet, packets_) {
|
||||
packet->md.recirc_id = nl_attr_get_u32(a);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user