diff --git a/manifests/plugins/ml2/ovn.pp b/manifests/plugins/ml2/ovn.pp index 2860c3bdf..2a654215f 100644 --- a/manifests/plugins/ml2/ovn.pp +++ b/manifests/plugins/ml2/ovn.pp @@ -136,6 +136,12 @@ # (optional) The number of seconds to keep MAC_Binding entries in the OVN DB. # Defaults to $facts['os_service_default'] # +# [*broadcast_arps_to_all_routers*] +# (optional) If enabled OVM will flood ARP requests to all attached ports on +# a network. Supported by OVM >= 23.06. +# Type: boolean +# Defaults to $facts['os_service_default'] +# # [*ignore_lsp_down*] # (optional) Do not install ARP/ND reply flows for logical switch ports # if the port is DOWN. @@ -192,6 +198,7 @@ class neutron::plugins::ml2::ovn( $localnet_learn_fdb = $facts['os_service_default'], $fdb_age_threshold = $facts['os_service_default'], $mac_binding_age_threshold = $facts['os_service_default'], + $broadcast_arps_to_all_routers = $facts['os_service_default'], $ignore_lsp_down = $facts['os_service_default'], $fdb_removal_limit = $facts['os_service_default'], $mac_binding_removal_limit = $facts['os_service_default'], @@ -241,6 +248,7 @@ class neutron::plugins::ml2::ovn( 'ovn/localnet_learn_fdb' : value => $localnet_learn_fdb; 'ovn/fdb_age_threshold' : value => $fdb_age_threshold; 'ovn/mac_binding_age_threshold' : value => $mac_binding_age_threshold; + 'ovn/broadcast_arps_to_all_routers' : value => $broadcast_arps_to_all_routers; 'ovn_nb_global/ignore_lsp_down' : value => $ignore_lsp_down; 'ovn_nb_global/fdb_removal_limit' : value => $fdb_removal_limit; 'ovn_nb_global/mac_binding_removal_limit' : value => $mac_binding_removal_limit; diff --git a/releasenotes/notes/broadcast_arps_to_all_routers-e2535180f8ee5808.yaml b/releasenotes/notes/broadcast_arps_to_all_routers-e2535180f8ee5808.yaml new file mode 100644 index 000000000..d2a9a03e3 --- /dev/null +++ b/releasenotes/notes/broadcast_arps_to_all_routers-e2535180f8ee5808.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + The ``neutron::plugins::ml2::ovn::broadcast_arps_to_all_routers`` parameter + has been added. diff --git a/spec/classes/neutron_plugins_ml2_ovn_spec.rb b/spec/classes/neutron_plugins_ml2_ovn_spec.rb index 6b0c31e8a..174f2d444 100644 --- a/spec/classes/neutron_plugins_ml2_ovn_spec.rb +++ b/spec/classes/neutron_plugins_ml2_ovn_spec.rb @@ -35,6 +35,7 @@ describe 'neutron::plugins::ml2::ovn' do :localnet_learn_fdb => '', :fdb_age_threshold => '', :mac_binding_age_threshold => '', + :broadcast_arps_to_all_routers => '', :ignore_lsp_down => '', :fdb_removal_limit => '', :mac_binding_removal_limit => '', @@ -80,6 +81,7 @@ describe 'neutron::plugins::ml2::ovn' do should contain_neutron_plugin_ml2('ovn/localnet_learn_fdb').with_value(p[:localnet_learn_fdb]) should contain_neutron_plugin_ml2('ovn/fdb_age_threshold').with_value(p[:fdb_age_threshold]) should contain_neutron_plugin_ml2('ovn/mac_binding_age_threshold').with_value(p[:mac_binding_age_threshold]) + should contain_neutron_plugin_ml2('ovn/broadcast_arps_to_all_routers').with_value(p[:broadcast_arps_to_all_routers]) should contain_neutron_plugin_ml2('ovn_nb_global/ignore_lsp_down').with_value(p[:ignore_lsp_down]) should contain_neutron_plugin_ml2('ovn_nb_global/fdb_removal_limit').with_value(p[:fdb_removal_limit]) should contain_neutron_plugin_ml2('ovn_nb_global/mac_binding_removal_limit').with_value(p[:mac_binding_removal_limit]) @@ -116,6 +118,7 @@ describe 'neutron::plugins::ml2::ovn' do :localnet_learn_fdb => false, :fdb_age_threshold => 10, :mac_binding_age_threshold => 11, + :broadcast_arps_to_all_routers => true, :ignore_lsp_down => false, :fdb_removal_limit => 12, :mac_binding_removal_limit => 13, @@ -147,6 +150,7 @@ describe 'neutron::plugins::ml2::ovn' do should contain_neutron_plugin_ml2('ovn/localnet_learn_fdb').with_value(p[:localnet_learn_fdb]) should contain_neutron_plugin_ml2('ovn/fdb_age_threshold').with_value(p[:fdb_age_threshold]) should contain_neutron_plugin_ml2('ovn/mac_binding_age_threshold').with_value(p[:mac_binding_age_threshold]) + should contain_neutron_plugin_ml2('ovn/broadcast_arps_to_all_routers').with_value(p[:broadcast_arps_to_all_routers]) should contain_neutron_plugin_ml2('ovn_nb_global/ignore_lsp_down').with_value(p[:ignore_lsp_down]) should contain_neutron_plugin_ml2('ovn_nb_global/fdb_removal_limit').with_value(p[:fdb_removal_limit]) should contain_neutron_plugin_ml2('ovn_nb_global/mac_binding_removal_limit').with_value(p[:mac_binding_removal_limit])