Skip to content

Commit

Permalink
ovn-northd: Set logical_datapath in each Bindings record.
Browse files Browse the repository at this point in the history
Without a logical_datapath, ovn-controller won't be able to tell which
logical datapath a logical port belongs to, thus it won't be able to
implement logical flows related to the logical port.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Russell Bryant <rbryant@redhat.com>
Acked-by: Justin Pettit <jpettit@nicira.com>
  • Loading branch information
blp committed Apr 29, 2015
1 parent 27912fd commit 03f455b
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions ovn/northd/ovn-northd.c
Expand Up @@ -491,6 +491,13 @@ set_bindings(struct northd_context *ctx)
}
}

struct uuid logical_datapath;
if (lport->lswitch) {
logical_datapath = lport->lswitch->header_.uuid;
} else {
uuid_zero(&logical_datapath);
}

if (binding) {
/* We found an existing binding for this logical port. Update its
* contents. */
Expand All @@ -510,6 +517,10 @@ set_bindings(struct northd_context *ctx)
if (!tags_equal(binding, lport)) {
sbrec_bindings_set_tag(binding, lport->tag, lport->n_tag);
}
if (!uuid_equals(&binding->logical_datapath, &logical_datapath)) {
sbrec_bindings_set_logical_datapath(binding,
logical_datapath);
}
} else {
/* There is no binding for this logical port, so create one. */

Expand All @@ -521,6 +532,8 @@ set_bindings(struct northd_context *ctx)
sbrec_bindings_set_parent_port(binding, lport->parent_name);
sbrec_bindings_set_tag(binding, lport->tag, lport->n_tag);
}

sbrec_bindings_set_logical_datapath(binding, logical_datapath);
}
}

Expand Down Expand Up @@ -719,6 +732,7 @@ main(int argc, char *argv[])
ovsdb_idl_add_column(ovnsb_idl, &sbrec_bindings_col_mac);
ovsdb_idl_add_column(ovnsb_idl, &sbrec_bindings_col_tag);
ovsdb_idl_add_column(ovnsb_idl, &sbrec_bindings_col_parent_port);
ovsdb_idl_add_column(ovnsb_idl, &sbrec_bindings_col_logical_datapath);
ovsdb_idl_add_column(ovnsb_idl, &sbrec_pipeline_col_logical_datapath);
ovsdb_idl_omit_alert(ovnsb_idl, &sbrec_pipeline_col_logical_datapath);
ovsdb_idl_add_column(ovnsb_idl, &sbrec_pipeline_col_table_id);
Expand Down

0 comments on commit 03f455b

Please sign in to comment.