in_bundle->name, vlan);
mac->port.p = in_bundle;
- tag_set_add(&ofproto->backer->revalidate_set,
- mac_learning_changed(ofproto->ml, mac));
+ mac_learning_changed(ofproto->ml, mac);
}
}
if (netdev_vport_is_patch(ofport->up.netdev)) {
struct ofport_dpif *peer = ofport_get_peer(ofport);
struct flow old_flow = ctx->xin->flow;
- const struct ofproto_dpif *peer_ofproto;
enum slow_path_reason special;
struct ofport_dpif *in_port;
return;
}
- peer_ofproto = ofproto_dpif_cast(peer->up.ofproto);
- if (peer_ofproto->backer != ctx->ofproto->backer) {
- xlate_report(ctx, "Patch port peer on a different datapath");
- return;
- }
-
ctx->ofproto = ofproto_dpif_cast(peer->up.ofproto);
flow->in_port = peer->up.ofp_port;
flow->metadata = htonll(0);
int error;
/* Translate queue to priority. */
- error = dpif_queue_to_priority(ctx->ofproto->backer->dpif,
- queue_id, &priority);
+ error = ofproto_dpif_queue_to_priority(ctx->ofproto, queue_id, &priority);
if (error) {
/* Fall back to ordinary output action. */
xlate_output_action(ctx, enqueue->port, 0, false);
{
uint32_t skb_priority;
- if (!dpif_queue_to_priority(ctx->ofproto->backer->dpif,
- queue_id, &skb_priority)) {
+ if (!ofproto_dpif_queue_to_priority(ctx->ofproto, queue_id,
+ &skb_priority)) {
ctx->xin->flow.skb_priority = skb_priority;
} else {
/* Couldn't translate queue to a priority. Nothing to do. A warning