On 8/24/21 12:59 AM, [email protected] wrote:
> From: Numan Siddique <[email protected]>
> 
> In the cases where the C idl client is compiled with a newer schema
> and the ovsdb-server is running with older schema, the IDL clients
> can included tables or columns in the transaction which are missing
> in the server schema.  ovsdb-server will reject the transaction,
> but the IDL client keeps on trying the transaction resulting
> in a continuous loop.  This patch fixes this issue.
> 
> For the missing tables, the function ovsdb_idl_txn_insert() will now
> return NULL.  The client should check for NULL before accessing the
> row object.  For the missing columns, the columns are excluded from
> the transaction object.
This doesn't look safe, because none of existing clients are checking
the return value of IDL wrapper functions and are using it right away.

Can we just fail the transaction before sending it to the server?
Clients are required to check the transaction status.  Clients will
need to check for existence of the certain columns before adding
them to transactions though with the API from patch #1.

Best regards, Ilya Maximets.
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to