Hi,

Due to the depreciation of ovn/vif_type config, I'm still confused about how to implement OVN with DPDK in the proper way. In my experience, br-int datapath_type always returns to the "system" form "netdev" everytime VIF is plugged, even if it is from the first VM created on an empty compute node. My suspicion is related to the following debug log of nova-computer.

2023-02-09 04:34:42.395 1192435 DEBUG ovsdbapp.backend.ovs_idl.transaction [-] Running txn n=1 command(idx=0): AddBridgeCommand(name=br-int, may_exist=True, datapath_type=system) do_commit /usr/lib/python3/dist-packages/ovsdbapp/backend/ovs_idl/transaction.py:90

For information, following is the compute node OVS and Chassis configuration before any VIF is plugged.

root@compute01:~# ovs-vsctl list Open_vSwitch
_uuid               : 799b3140-fe2e-48c6-9779-679152f2eb32
bridges             : [6a3b363d-99c7-47b6-9c30-167fbf18cbd8, d2d5b32e-4089-493b-870a-aa056e311b92, ea68d505-bb91-4b15-a532-b942ea9c4e9f]
cur_cfg             : 440
datapath_types      : [netdev, system]
datapaths           : {netdev=90cd281a-5890-4202-b7b2-ce2fe0bc538f, system=fa3dc7b5-929f-4cad-bdf0-36dbf9ddf78e}
db_version          : "8.3.0"
dpdk_initialized    : true
dpdk_version        : "DPDK 21.11.2"
external_ids        : {hostname=compute01, ovn-bridge-datapath-type=netdev, ovn-bridge-mappings="provider:br-provider", ovn-encap-ip="10.10.203.14", ovn-encap-type=geneve, ovn-nb="tcp:haproxy.internal:6641", ovn-openflow-probe-interval="60", ovn-remote="tcp:haproxy.internal:6642", ovn-remote-probe-interval="60000", rundir="/var/run/openvswitch", system-id="673c46a0-d9a1-40f8-a164-537693fabf95"}
iface_types         : [bareudp, dpdk, dpdkvhostuser, dpdkvhostuserclient, erspan, geneve, gre, gtpu, internal, ip6erspan, ip6gre, lisp, patch, stt, system, tap, vxlan]
manager_options     : []
next_cfg            : 440
other_config        : {dpdk-init="true", dpdk-socket-mem="1024,1024", pmd-cpu-mask="0x000200000002000200000002", vlan-limit="0"}
ovs_version         : "3.0.1"
ssl                 : []
statistics          : {}
system_type         : ubuntu
system_version      : "22.04"

root@compute01:~# ovs-vsctl list Bridge
_uuid               : ea68d505-bb91-4b15-a532-b942ea9c4e9f
auto_attach         : []
controller          : []
datapath_id         : "000006d568ea154b"
datapath_type       : netdev
datapath_version    : "<built-in>"
external_ids        : {netplan="true", "netplan/global/set-fail-mode"=standalone, "netplan/mcast_snooping_enable"="false", "netplan/rstp_enable"="false"}
fail_mode           : standalone
flood_vlans         : []
flow_tables         : {}
ipfix               : []
mcast_snooping_enable: false
mirrors             : []
name                : br-tun
netflow             : []
other_config        : {}
ports               : [167cf55f-d2be-48e2-b81c-fcaa0094125b, 2deee00a-86ca-4a4a-8466-682beb2da724, eba98d21-a6d8-4a17-9303-98eb760927ab]
protocols           : []
rstp_enable         : false
rstp_status         : {}
sflow               : []
status              : {}
stp_enable          : false

_uuid               : 6a3b363d-99c7-47b6-9c30-167fbf18cbd8
auto_attach         : []
controller          : []
datapath_id         : "00005e94f53c221f"
datapath_type       : netdev
datapath_version    : "<built-in>"
external_ids        : {ct-zone-049ede3f-a6b8-4498-a278-aa50f69a9340="4", ct-zone-5ba9d829-5034-4f6e-9c50-84112d316eea="3", ct-zone-65177e75-c36c-44f8-b980-8d129bad6b05_dnat="7", ct-zone-65177e75-c36c-44f8-b980-8d129bad6b05_snat="8", ct-zone-7e87f5da-3510-42aa-85b3-b87e3ed53cbd_dnat="2", ct-zone-7e87f5da-3510-42aa-85b3-b87e3ed53cbd_snat="1", ct-zone-f12fcb10-d5f1-4b96-8787-bfc5b5dee282_dnat="6", ct-zone-f12fcb10-d5f1-4b96-8787-bfc5b5dee282_snat="5", netplan="true", "netplan/global/set-fail-mode"=standalone, "netplan/mcast_snooping_enable"="false", "netplan/rstp_enable"="false", ovn-nb-cfg="119", ovn-nb-cfg-ts="1675915566313", ovn-startup-ts="1675897357360"}
fail_mode           : secure
flood_vlans         : []
flow_tables         : {}
ipfix               : []
mcast_snooping_enable: false
mirrors             : []
name                : br-int
netflow             : []
other_config        : {disable-in-band="true", hwaddr="5e:94:f5:3c:22:1f"}
ports               : [0e30606b-00ff-4202-83a7-57505987df79, 4bf11193-ac2f-4101-9eb9-102b5c5e8bf5, 5a20376a-6ec3-49b3-af74-4ecf04636fb2, 62ef10f0-0267-42f7-ac3a-49b8b9e6d816, 8d46690a-3ea8-420f-9bf3-d2aac5f22729, a6eb963a-c410-477c-b11c-4e02ecb17450, bbc9526a-836e-42d5-a2af-85f344eeba8a, cd7200a2-834e-4488-b8ed-3b61e881d6d0, d13d01ee-9fe8-4f21-ab12-831697870e34, d9fa4b5c-77ce-42af-8014-e1f21102f2c4, f6cb742a-2afa-4f00-87d5-8c07067573f3]
protocols           : []
rstp_enable         : false
rstp_status         : {}
sflow               : []
status              : {}
stp_enable          : false

_uuid               : d2d5b32e-4089-493b-870a-aa056e311b92
auto_attach         : []
controller          : []
datapath_id         : "00002eb3d5d23b49"
datapath_type       : netdev
datapath_version    : "<built-in>"
external_ids        : {netplan="true", "netplan/global/set-fail-mode"=standalone, "netplan/mcast_snooping_enable"="false", "netplan/rstp_enable"="false"}
fail_mode           : standalone
flood_vlans         : []
flow_tables         : {}
ipfix               : []
mcast_snooping_enable: false
mirrors             : []
name                : br-provider
netflow             : []
other_config        : {}
ports               : [43d1234c-7dfb-450f-90fb-80c67bac0a9b, 811af772-eac0-4985-8125-a65958bb8c20, 87123c6a-554f-4d51-90fe-14ed709a95a9]
protocols           : []
rstp_enable         : false
rstp_status         : {}
sflow               : []
status              : {}
stp_enable          : false

root@controller03:~# ovn-sbctl list Chassis "673c46a0-d9a1-40f8-a164-537693fabf95"
_uuid               : d966cc0e-14cb-4779-b433-d681849f54cd
encaps              : [afc6b6bb-3698-42ec-a269-579fd4bfdf27]
external_ids        : {}
hostname            : compute01
name                : "673c46a0-d9a1-40f8-a164-537693fabf95"
nb_cfg              : 0
other_config        : {ct-no-masked-label="true", datapath-type=netdev, iface-types="bareudp,dpdk,dpdkvhostuser,dpdkvhostuserclient,erspan,geneve,gre,gtpu,internal,ip6erspan,ip6gre,lisp,patch,stt,system,tap,vxlan", is-interconn="false", mac-binding-timestamp="true", ovn-bridge-mappings="provider:br-provider", ovn-chassis-mac-mappings="", ovn-cms-options="", ovn-enable-lflow-cache="true", ovn-limit-lflow-cache="", ovn-memlimit-lflow-cache-kb="", ovn-monitor-all="false", ovn-trim-limit-lflow-cache="", ovn-trim-timeout-ms="", ovn-trim-wmark-perc-lflow-cache="", port-up-notif="true"}
transport_zones     : []
vtep_logical_switches: []

Any clue about this situation?

Best regards.