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:
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user