2
0
mirror of https://github.com/openvswitch/ovs synced 2025-10-27 15:18:06 +00:00

ofpbuf: Simplify ofpbuf API.

ofpbuf was complicated due to its wide usage across all
layers of OVS, Now we have introduced independent dp_packet
which can be used for datapath packet, we can simplify ofpbuf.
Following patch removes DPDK mbuf and access API of ofpbuf
members.

Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
This commit is contained in:
Pravin B Shelar
2015-03-02 17:29:44 -08:00
parent cf62fa4c70
commit 6fd6ed71cb
42 changed files with 705 additions and 1058 deletions

View File

@@ -55,7 +55,7 @@ parse_keys(bool wc_keys)
if (!wc_keys) {
/* Convert odp_key to flow. */
fitness = odp_flow_key_to_flow(ofpbuf_data(&odp_key), ofpbuf_size(&odp_key), &flow);
fitness = odp_flow_key_to_flow(odp_key.data, odp_key.size, &flow);
switch (fitness) {
case ODP_FIT_PERFECT:
break;
@@ -78,9 +78,9 @@ parse_keys(bool wc_keys)
odp_flow_key_from_flow(&odp_key, &flow, NULL,
flow.in_port.odp_port, true);
if (ofpbuf_size(&odp_key) > ODPUTIL_FLOW_KEY_BYTES) {
if (odp_key.size > ODPUTIL_FLOW_KEY_BYTES) {
printf ("too long: %"PRIu32" > %d\n",
ofpbuf_size(&odp_key), ODPUTIL_FLOW_KEY_BYTES);
odp_key.size, ODPUTIL_FLOW_KEY_BYTES);
exit_code = 1;
}
}
@@ -88,10 +88,10 @@ parse_keys(bool wc_keys)
/* Convert odp_key to string. */
ds_init(&out);
if (wc_keys) {
odp_flow_format(ofpbuf_data(&odp_key), ofpbuf_size(&odp_key),
ofpbuf_data(&odp_mask), ofpbuf_size(&odp_mask), NULL, &out, false);
odp_flow_format(odp_key.data, odp_key.size,
odp_mask.data, odp_mask.size, NULL, &out, false);
} else {
odp_flow_key_format(ofpbuf_data(&odp_key), ofpbuf_size(&odp_key), &out);
odp_flow_key_format(odp_key.data, odp_key.size, &out);
}
puts(ds_cstr(&out));
ds_destroy(&out);
@@ -126,7 +126,7 @@ parse_actions(void)
/* Convert odp_actions back to string. */
ds_init(&out);
format_odp_actions(&out, ofpbuf_data(&odp_actions), ofpbuf_size(&odp_actions));
format_odp_actions(&out, odp_actions.data, odp_actions.size);
puts(ds_cstr(&out));
ds_destroy(&out);
@@ -184,8 +184,8 @@ parse_filter(char *filter_parse)
struct match match, match_filter;
struct minimatch minimatch;
odp_flow_key_to_flow(ofpbuf_data(&odp_key), ofpbuf_size(&odp_key), &flow);
odp_flow_key_to_mask(ofpbuf_data(&odp_mask), ofpbuf_size(&odp_mask), &wc.masks,
odp_flow_key_to_flow(odp_key.data, odp_key.size, &flow);
odp_flow_key_to_mask(odp_mask.data, odp_mask.size, &wc.masks,
&flow);
match_init(&match, &flow, &wc);
@@ -201,8 +201,8 @@ parse_filter(char *filter_parse)
}
/* Convert odp_key to string. */
ds_init(&out);
odp_flow_format(ofpbuf_data(&odp_key), ofpbuf_size(&odp_key),
ofpbuf_data(&odp_mask), ofpbuf_size(&odp_mask), NULL, &out, false);
odp_flow_format(odp_key.data, odp_key.size,
odp_mask.data, odp_mask.size, NULL, &out, false);
puts(ds_cstr(&out));
ds_destroy(&out);