From: Filip Tehlar Date: Wed, 29 Sep 2021 14:20:49 +0000 (+0000) Subject: vat2: do not require _crc field in API messages X-Git-Tag: v22.06-rc0~480 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=d6f22aa98638ad78d2de7c56c014c6190b96617a;p=vpp.git vat2: do not require _crc field in API messages Type: improvement Signed-off-by: Filip Tehlar Change-Id: Icc2ce594225c3197c9e5be8faa3dc2ee5b0a553e --- diff --git a/src/vat2/main.c b/src/vat2/main.c index 667f473c635..2d148472d42 100644 --- a/src/vat2/main.c +++ b/src/vat2/main.c @@ -133,17 +133,16 @@ vat2_register_function (char *name, cJSON (*f) (cJSON *), static int vat2_exec_command_by_name (char *msgname, cJSON *o) { + u32 crc = 0; if (filter_message (msgname)) return 0; cJSON *crc_obj = cJSON_GetObjectItem (o, "_crc"); - if (!crc_obj) + if (crc_obj) { - fprintf (stderr, "Missing '_crc' element!\n"); - return -1; + char *crc_str = cJSON_GetStringValue (crc_obj); + crc = (u32) strtol (crc_str, NULL, 16); } - char *crc_str = cJSON_GetStringValue (crc_obj); - u32 crc = (u32) strtol (crc_str, NULL, 16); uword *p = hash_get_mem (function_by_name, msgname); if (!p) @@ -151,7 +150,7 @@ vat2_exec_command_by_name (char *msgname, cJSON *o) fprintf (stderr, "No such command %s\n", msgname); return -1; } - if (crc != apifuncs[p[0]].crc) + if (crc && crc != apifuncs[p[0]].crc) { fprintf (stderr, "API CRC does not match: %s!\n", msgname); }