---
features:
  - Adds support for `routed networks
    <https://docs.openstack.org/neutron/latest/admin/config-routed-networks>`_
    when using the ``flat`` network interface. This feature requires the
    ``baremetal`` ML2 mechanism driver and L2 agent from the
    `networking-baremetal <https://docs.openstack.org/networking-baremetal>`_
    plugin. See the `networking configuration documentation
    <https://docs.openstack.org/ironic/latest/install/configure-networking.html>`_
    for more details.
upgrade:
  - |
    The ``baremetal`` ML2 mechanism driver and L2 agent should now be used
    with the ``flat`` network interface. When installed, the ``baremetal``
    mechanism driver and agent ensure that ports are properly bound in the
    Networking service. Installation and configuration of the ML2 components
    are documented in the `networking-baremetal project documentation
    <https://docs.openstack.org/networking-baremetal>`_.

    Without the ML2 mechanism driver and L2 agent, the Networking service's
    ports will not be correctly bound. In the Networking
    service, ports will have a ``DOWN`` status, and the ``binding_vif_type``
    field equal to ``binding_failed``. This was always the status for the
    ``flat`` network interface ports prior to the introduction of the
    ``baremetal`` mechanism driver. For a non-routed network, bare metal nodes
    can still be deployed and are functional, despite this port binding state
    in the Networking service.
fixes:
  - Fixes an issue where the Networking service would reject port bindings
    with the ``flat`` network interface because no host would match the
    *host-id* used in such configurations. The ``flat`` network interface no
    longer requires a networking agent (such as ``neutron-openvswitch-agent``)
    to be run on the ``nova-compute`` proxy node which executes the ironic virt
    driver. Instead, the interface uses the `baremetal mechanism driver
    <https://docs.openstack.org/networking-baremetal>`_.
