+static void
+nat44_ed_add_del_addr_to_fib_foreach_out_if (ip4_address_t *addr, u8 is_add)
+{
+ snat_main_t *sm = &snat_main;
+ snat_interface_t *i;
+
+ pool_foreach (i, sm->interfaces)
+ {
+ if (nat44_ed_is_interface_outside (i))
+ {
+ nat44_ed_add_del_addr_to_fib (addr, 32, i->sw_if_index, is_add);
+ }
+ }
+ pool_foreach (i, sm->output_feature_interfaces)
+ {
+ if (nat44_ed_is_interface_outside (i))
+ {
+ nat44_ed_add_del_addr_to_fib (addr, 32, i->sw_if_index, is_add);
+ }
+ }
+}
+
+static_always_inline void
+nat44_ed_add_del_addr_to_fib_foreach_addr (u32 sw_if_index, u8 is_add)
+{
+ snat_main_t *sm = &snat_main;
+ snat_address_t *ap;
+
+ vec_foreach (ap, sm->addresses)
+ {
+ nat44_ed_add_del_addr_to_fib (&ap->addr, 32, sw_if_index, is_add);
+ }
+}
+
+static_always_inline void
+nat44_ed_add_del_addr_to_fib_foreach_addr_only_sm (u32 sw_if_index, u8 is_add)