Hi ovsdb dev team,
I observed that OvsdbPortUpdateCommand checks updated rows of ports only. However it misses on further updates of Interfaces. So some attributes
do not end up in the operational store. Such as ‘ofport’ etc. Is there any work done on this?
Also the current implementation expects updated bridge data to be present along with port updates. However it is possible to have only port updated data or only interface updated data, and only
that data needs to be updated to operational. Interestingly though, here finding key to bridge node (bridge name) and termination point (port name) can get tricky. One would have to fetch those names from respective tables based on interface UUID or Port
UUID etc.
/****Code from the class that explains the above points. *****/
@Override
public void execute(ReadWriteTransaction transaction) {
String bridgeName = null;
Collection<Port> portUpdatedRows = TyperUtils.extractRowsUpdated(
Port.class, getUpdates(), getDbSchema()).values();
Collection<Bridge> bridgeUpdatedRows = TyperUtils.extractRowsUpdated(
Bridge.class, getUpdates(), getDbSchema()).values();
.
.
.
for (Bridge bridge : bridgeUpdatedRows) {
Iterator<UUID> bridgePorts = bridge.getPortsColumn().getData()
.iterator();
while (bridgePorts.hasNext()) {
.
. /** update ports **/
.
}
/****Code from the class that explains the above points. *****/
As mentioned above, in this code if bridge updated data is not received nothing would be updated.
Let me know if any work is being done to change this.
Thanks,