lic121 <[email protected]> writes:
> Max allowed userspace dp conntrack entries is configurable with
> 'ovs-appctl dpctl/ct-set-maxconns' command. In real scenarios,
> this configuration is expected to survive from host reboot, from
> ovs service restart.
>
> Signed-off-by: lic121 <[email protected]>
> ---
Sorry - just one last comment, and then I think this can go in.
Please add a warning to dpctl_ct_set_maxconns that also flags the
deprecation, and add a NEWS entry as well. That way end users are aware
of the change. If you want to add NEWS entry as a separate patch
(because those can generate git-am related issues) that's probably okay.
> Notes:
> v2:
> - rename "ct-maxconns" to "userspace-ct-maxconns"
>
> lib/dpctl.man | 4 +++-
> lib/dpif-netdev.c | 11 +++++++++++
> tests/system-traffic.at | 10 ++++++++++
> vswitchd/vswitch.xml | 7 +++++++
> 4 files changed, 31 insertions(+), 1 deletion(-)
>
> diff --git a/lib/dpctl.man b/lib/dpctl.man
> index c100d0a..4f08a3f 100644
> --- a/lib/dpctl.man
> +++ b/lib/dpctl.man
> @@ -343,7 +343,9 @@ system due to connection tracking or simply limiting
> connection
> tracking. If the number of connections is already over the new maximum
> limit request then the new maximum limit will be enforced when the
> number of connections decreases to that limit, which normally happens
> -due to connection expiry. Only supported for userspace datapath.
> +due to connection expiry. Only supported for userspace datapath. This
> +command is deprecated by ovsdb cfg other_config:userspace-ct-maxconns
> +because of persistence capability.
> .
> .TP
> \*(DX\fBct\-get\-maxconns\fR [\fIdp\fR]
> diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
> index 6764343..e2348a1 100644
> --- a/lib/dpif-netdev.c
> +++ b/lib/dpif-netdev.c
> @@ -4827,6 +4827,17 @@ dpif_netdev_set_config(struct dpif *dpif, const struct
> smap *other_config)
> }
> }
>
> + uint32_t ct_maxconns, cur_maxconns;
> + ct_maxconns = smap_get_int(other_config, "userspace-ct-maxconns",
> + UINT32_MAX);
> + /* Leave runtime value as it is when cfg is removed. */
> + if (ct_maxconns < UINT32_MAX) {
> + conntrack_get_maxconns(dp->conntrack, &cur_maxconns);
> + if (ct_maxconns != cur_maxconns) {
> + conntrack_set_maxconns(dp->conntrack, ct_maxconns);
> + }
> + }
> +
> bool smc_enable = smap_get_bool(other_config, "smc-enable", false);
> bool cur_smc;
> atomic_read_relaxed(&dp->smc_enable_db, &cur_smc);
> diff --git a/tests/system-traffic.at b/tests/system-traffic.at
> index 4a7fa49..82ea992 100644
> --- a/tests/system-traffic.at
> +++ b/tests/system-traffic.at
> @@ -2258,6 +2258,16 @@ AT_CHECK([ovs-appctl dpctl/ct-get-maxconns], [], [dnl
> 10
> ])
>
> +AT_CHECK([ovs-vsctl set Open_vswitch .
> other_config:userspace-ct-maxconns=20], [0])
> +AT_CHECK([ovs-appctl dpctl/ct-get-maxconns], [], [dnl
> +20
> +])
> +
> +AT_CHECK([ovs-vsctl remove Open_vswitch . other_config
> userspace-ct-maxconns], [0])
> +AT_CHECK([ovs-appctl dpctl/ct-get-maxconns], [], [dnl
> +20
> +])
> +
> OVS_TRAFFIC_VSWITCHD_STOP
> AT_CLEANUP
>
> diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml
> index 0c66326..48f05d7 100644
> --- a/vswitchd/vswitch.xml
> +++ b/vswitchd/vswitch.xml
> @@ -183,6 +183,13 @@
> </p>
> </column>
>
> + <column name="other_config" key="userspace-ct-maxconns"
> + type='{"type": "integer", "minInteger": 0}'>
> + The maximum number of connection tracker entries allowed in the
> + userspace datapath. This deprecates "ovs-appctl
> dpctl/ct-set-maxconns"
> + command.
> + </column>
> +
> <column name="other_config" key="max-idle"
> type='{"type": "integer", "minInteger": 500}'>
> <p>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev