[ovs-dev] [PATCH v3 14/16] ovn-controller: Rename all_lports to local_lports.
Ben Pfaff
blp at ovn.org
Sun Dec 18 08:18:32 UTC 2016
This sset has always just contained the names of logical ports that are
local to the current hypervisor, but the name 'all_lports' implied that it
contained the name of every logical port.
Signed-off-by: Ben Pfaff <blp at ovn.org>
---
ovn/controller/binding.c | 25 +++++++++++++------------
ovn/controller/ovn-controller.c | 14 ++++++++++----
2 files changed, 23 insertions(+), 16 deletions(-)
diff --git a/ovn/controller/binding.c b/ovn/controller/binding.c
index 5f71a48..fbdcf67 100644
--- a/ovn/controller/binding.c
+++ b/ovn/controller/binding.c
@@ -67,7 +67,7 @@ binding_register_ovs_idl(struct ovsdb_idl *ovs_idl)
static void
get_local_iface_ids(const struct ovsrec_bridge *br_int,
struct shash *lport_to_iface,
- struct sset *all_lports,
+ struct sset *local_lports,
struct sset *egress_ifaces)
{
int i;
@@ -89,7 +89,7 @@ get_local_iface_ids(const struct ovsrec_bridge *br_int,
if (iface_id) {
shash_add(lport_to_iface, iface_id, iface_rec);
- sset_add(all_lports, iface_id);
+ sset_add(local_lports, iface_id);
}
/* Check if this is a tunnel interface. */
@@ -327,17 +327,17 @@ consider_local_datapath(struct controller_ctx *ctx,
struct hmap *qos_map,
struct hmap *local_datapaths,
struct shash *lport_to_iface,
- struct sset *all_lports)
+ struct sset *local_lports)
{
const struct ovsrec_interface *iface_rec
= shash_find_data(lport_to_iface, binding_rec->logical_port);
if (iface_rec
|| (binding_rec->parent_port && binding_rec->parent_port[0] &&
- sset_contains(all_lports, binding_rec->parent_port))) {
+ sset_contains(local_lports, binding_rec->parent_port))) {
if (binding_rec->parent_port && binding_rec->parent_port[0]) {
/* Add child logical port to the set of all local ports. */
- sset_add(all_lports, binding_rec->logical_port);
+ sset_add(local_lports, binding_rec->logical_port);
}
add_local_datapath(ldatapaths, lports, binding_rec->datapath,
false, local_datapaths);
@@ -374,7 +374,7 @@ consider_local_datapath(struct controller_ctx *ctx,
return;
}
- sset_add(all_lports, binding_rec->logical_port);
+ sset_add(local_lports, binding_rec->logical_port);
add_local_datapath(ldatapaths, lports, binding_rec->datapath,
false, local_datapaths);
if (binding_rec->chassis == chassis_rec) {
@@ -400,14 +400,15 @@ consider_local_datapath(struct controller_ctx *ctx,
for (int i = 0; i < binding_rec->n_mac; i++) {
VLOG_INFO("Releasing %s", binding_rec->mac[i]);
}
+
sbrec_port_binding_set_chassis(binding_rec, NULL);
- sset_find_and_delete(all_lports, binding_rec->logical_port);
+ sset_find_and_delete(local_lports, binding_rec->logical_port);
}
} else if (!binding_rec->chassis
&& !strcmp(binding_rec->type, "localnet")) {
- /* Add all localnet ports to all_lports so that we allocate ct zones
+ /* Add all localnet ports to local_lports so that we allocate ct zones
* for them. */
- sset_add(all_lports, binding_rec->logical_port);
+ sset_add(local_lports, binding_rec->logical_port);
}
}
@@ -416,7 +417,7 @@ binding_run(struct controller_ctx *ctx, const struct ovsrec_bridge *br_int,
const struct sbrec_chassis *chassis_rec,
const struct ldatapath_index *ldatapaths,
const struct lport_index *lports, struct hmap *local_datapaths,
- struct sset *all_lports)
+ struct sset *local_lports)
{
if (!chassis_rec) {
return;
@@ -429,7 +430,7 @@ binding_run(struct controller_ctx *ctx, const struct ovsrec_bridge *br_int,
hmap_init(&qos_map);
if (br_int) {
- get_local_iface_ids(br_int, &lport_to_iface, all_lports,
+ get_local_iface_ids(br_int, &lport_to_iface, local_lports,
&egress_ifaces);
}
@@ -441,7 +442,7 @@ binding_run(struct controller_ctx *ctx, const struct ovsrec_bridge *br_int,
chassis_rec, binding_rec,
sset_is_empty(&egress_ifaces) ? NULL :
&qos_map, local_datapaths, &lport_to_iface,
- all_lports);
+ local_lports);
}
diff --git a/ovn/controller/ovn-controller.c b/ovn/controller/ovn-controller.c
index 6936c84..7a30c2a 100644
--- a/ovn/controller/ovn-controller.c
+++ b/ovn/controller/ovn-controller.c
@@ -489,7 +489,13 @@ main(int argc, char *argv[])
/* Contains "struct local_datapath" nodes. */
struct hmap local_datapaths = HMAP_INITIALIZER(&local_datapaths);
- struct sset all_lports = SSET_INITIALIZER(&all_lports);
+
+ /* Contains the name of each logical port resident on the local
+ * hypervisor. These logical ports include the VIFs (and their child
+ * logical ports, if any) that belong to VMs running on the hypervisor,
+ * l2gateway ports for which options:l2gateway-chassis designates the
+ * local hypervisor, and localnet ports. */
+ struct sset local_lports = SSET_INITIALIZER(&local_lports);
const struct ovsrec_bridge *br_int = get_br_int(&ctx);
const char *chassis_id = get_chassis_id(ctx.ovs_idl);
@@ -506,7 +512,7 @@ main(int argc, char *argv[])
chassis = chassis_run(&ctx, chassis_id, br_int);
encaps_run(&ctx, br_int, chassis_id);
binding_run(&ctx, br_int, chassis, &ldatapaths, &lports,
- &local_datapaths, &all_lports);
+ &local_datapaths, &local_lports);
}
if (br_int && chassis) {
@@ -516,7 +522,7 @@ main(int argc, char *argv[])
&pending_ct_zones);
pinctrl_run(&ctx, &lports, br_int, chassis, &local_datapaths);
- update_ct_zones(&all_lports, &local_datapaths, &ct_zones,
+ update_ct_zones(&local_lports, &local_datapaths, &ct_zones,
ct_zone_bitmap, &pending_ct_zones);
if (ctx.ovs_idl_txn) {
commit_ct_zones(br_int, &pending_ct_zones);
@@ -545,7 +551,7 @@ main(int argc, char *argv[])
lport_index_destroy(&lports);
ldatapath_index_destroy(&ldatapaths);
- sset_destroy(&all_lports);
+ sset_destroy(&local_lports);
struct local_datapath *cur_node, *next_node;
HMAP_FOR_EACH_SAFE (cur_node, next_node, hmap_node, &local_datapaths) {
--
2.10.2
More information about the dev
mailing list