[ovs-dev] [PATCH v3 2/6] vtep-ctl: Add Tunnel table to vtep_ctl_table_class.
Justin Pettit
jpettit at nicira.com
Thu Sep 25 21:18:18 UTC 2014
Acked-by: Justin Pettit <jpettit at nicira.com>
On Fri, Sep 19, 2014 at 7:29 AM, Gurucharan Shetty <shettyg at nicira.com>
wrote:
> This is needed to create, get, set records in the Tunnel table.
>
> (We need to add the Tunnel table's 'local' and 'remote' columns
> that point to the Physical_Locator record to cache because vtep-ctl
> commands like 'add-ucast-local' will try to add an entry in
> Physical_Locator table based on the contents of the cache.)
>
> Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
> ---
> vtep/vtep-ctl.c | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
>
> diff --git a/vtep/vtep-ctl.c b/vtep/vtep-ctl.c
> index 8a16450..b3ff671 100644
> --- a/vtep/vtep-ctl.c
> +++ b/vtep/vtep-ctl.c
> @@ -1076,6 +1076,7 @@ pre_get_info(struct vtep_ctl_context *ctx)
>
> ovsdb_idl_add_column(ctx->idl, &vteprec_physical_switch_col_name);
> ovsdb_idl_add_column(ctx->idl, &vteprec_physical_switch_col_ports);
> + ovsdb_idl_add_column(ctx->idl, &vteprec_physical_switch_col_tunnels);
>
> ovsdb_idl_add_column(ctx->idl, &vteprec_physical_port_col_name);
> ovsdb_idl_add_column(ctx->idl,
> &vteprec_physical_port_col_vlan_bindings);
> @@ -1111,6 +1112,9 @@ pre_get_info(struct vtep_ctl_context *ctx)
> &vteprec_physical_locator_col_dst_ip);
> ovsdb_idl_add_column(ctx->idl,
>
> &vteprec_physical_locator_col_encapsulation_type);
> +
> + ovsdb_idl_add_column(ctx->idl, &vteprec_tunnel_col_local);
> + ovsdb_idl_add_column(ctx->idl, &vteprec_tunnel_col_remote);
> }
>
> static void
> @@ -1122,6 +1126,7 @@ vtep_ctl_context_populate_cache(struct
> vtep_ctl_context *ctx)
> const struct vteprec_ucast_macs_remote *ucast_remote_cfg;
> const struct vteprec_mcast_macs_local *mcast_local_cfg;
> const struct vteprec_mcast_macs_remote *mcast_remote_cfg;
> + const struct vteprec_tunnel *tunnel_cfg;
> struct sset pswitches, ports, lswitches;
> size_t i;
>
> @@ -1247,6 +1252,15 @@ vtep_ctl_context_populate_cache(struct
> vtep_ctl_context *ctx)
> mcast_mac->remote_cfg = mcast_remote_cfg;
> }
>
> + VTEPREC_TUNNEL_FOR_EACH (tunnel_cfg, ctx->idl) {
> + if (tunnel_cfg->local) {
> + add_ploc_to_cache(ctx, tunnel_cfg->local);
> + }
> + if (tunnel_cfg->remote) {
> + add_ploc_to_cache(ctx, tunnel_cfg->remote);
> + }
> + }
> +
> sset_init(&pswitches);
> for (i = 0; i < vtep_global->n_switches; i++) {
> struct vteprec_physical_switch *ps_cfg = vtep_global->switches[i];
> @@ -2283,6 +2297,10 @@ static const struct vtep_ctl_table_class tables[] =
> {
> {{&vteprec_table_physical_switch, &vteprec_physical_switch_col_name,
> NULL},
> {NULL, NULL, NULL}}},
>
> + {&vteprec_table_tunnel,
> + {{NULL, NULL, NULL},
> + {NULL, NULL, NULL}}},
> +
> {NULL, {{NULL, NULL, NULL}, {NULL, NULL, NULL}}}
> };
>
> --
> 1.7.9.5
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
>
More information about the dev
mailing list