[ovs-dev] [PATCH 05/12] dpif-netdev: Use ofpbuf functions instead of their out-of-line expansions.
Ben Pfaff
blp at nicira.com
Tue Dec 7 19:00:27 UTC 2010
---
lib/dpif-netdev.c | 9 ++++-----
1 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
index 435f909..eddd18b 100644
--- a/lib/dpif-netdev.c
+++ b/lib/dpif-netdev.c
@@ -815,7 +815,7 @@ dpif_netdev_execute(struct dpif *dpif,
/* We need a deep copy of 'packet' since we're going to modify its
* data. */
ofpbuf_init(©, DP_NETDEV_HEADROOM + packet->size);
- copy.data = (char*)copy.base + DP_NETDEV_HEADROOM;
+ ofpbuf_reserve(©, DP_NETDEV_HEADROOM);
ofpbuf_put(©, packet->data, packet->size);
} else {
/* We still need a shallow copy of 'packet', even though we won't
@@ -951,8 +951,8 @@ dp_netdev_run(void)
int error;
/* Reset packet contents. */
- packet.data = (char*)packet.base + DP_NETDEV_HEADROOM;
- packet.size = 0;
+ ofpbuf_clear(&packet);
+ ofpbuf_reserve(&packet, DP_NETDEV_HEADROOM);
error = netdev_recv(port->netdev, &packet);
if (!error) {
@@ -1025,8 +1025,7 @@ dp_netdev_strip_vlan(struct ofpbuf *packet)
memcpy(tmp.eth_src, veh->veth_src, ETH_ADDR_LEN);
tmp.eth_type = veh->veth_next_type;
- packet->size -= VLAN_HEADER_LEN;
- packet->data = (char*)packet->data + VLAN_HEADER_LEN;
+ ofpbuf_pull(packet, VLAN_HEADER_LEN);
packet->l2 = (char*)packet->l2 + VLAN_HEADER_LEN;
memcpy(packet->data, &tmp, sizeof tmp);
}
--
1.7.1
More information about the dev
mailing list