[ovs-dev] [PATCH] conntrack: increment coverage counter for all bad checksum cases
Tonghao Zhang
xiangxia.m.yue at gmail.com
Fri Mar 12 02:51:55 UTC 2021
On Mon, Mar 8, 2021 at 7:24 AM Paolo Valerio <pvalerio at redhat.com> wrote:
>
> conntrack_l4csum_err gets incremented only when corrupted icmp
> pass through conntrack.
> Increase it for the remaining bad checksum cases including when
> checksum is offloaded.
This patch looks good to me, and one question, do you have plan to
support l3 csum counters, such as "conntrack_l3csum_err".
Reviewed-by: Tonghao Zhang <xiangxia.m.yue at gmail.com>
> Signed-off-by: Paolo Valerio <pvalerio at redhat.com>
> ---
> lib/conntrack.c | 15 ++++++++++++---
> 1 file changed, 12 insertions(+), 3 deletions(-)
>
> diff --git a/lib/conntrack.c b/lib/conntrack.c
> index 99198a601..30277f6fd 100644
> --- a/lib/conntrack.c
> +++ b/lib/conntrack.c
> @@ -1669,15 +1669,22 @@ static inline bool
> checksum_valid(const struct conn_key *key, const void *data, size_t size,
> const void *l3)
> {
> + bool valid;
> +
> if (key->dl_type == htons(ETH_TYPE_IP)) {
> uint32_t csum = packet_csum_pseudoheader(l3);
> - return csum_finish(csum_continue(csum, data, size)) == 0;
> + valid = (csum_finish(csum_continue(csum, data, size)) == 0);
> } else if (key->dl_type == htons(ETH_TYPE_IPV6)) {
> - return packet_csum_upperlayer6(l3, data, key->nw_proto, size) == 0;
> + valid = (packet_csum_upperlayer6(l3, data, key->nw_proto, size) == 0);
> } else {
> + valid = false;
> + }
> +
> + if (!valid) {
> COVERAGE_INC(conntrack_l4csum_err);
> - return false;
> }
> +
> + return valid;
> }
>
> static inline bool
> @@ -2076,6 +2083,8 @@ conn_key_extract(struct conntrack *ct, struct dp_packet *pkt, ovs_be16 dl_type,
> ctx->hash = conn_key_hash(&ctx->key, ct->hash_basis);
> return true;
> }
> + } else {
> + COVERAGE_INC(conntrack_l4csum_err);
> }
> }
>
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
--
Best regards, Tonghao
More information about the dev
mailing list