It seems that changing any NAT44 setting resets the forwarding_enabled flag to False.
For example, with the following initial configuration:
set vpp settings cpu main-core '2' set vpp settings interface eth0 driver 'dpdk' set vpp settings memory main-heap-size '1G' set vpp settings unix poll-sleep-usec '1000'
Check the current NAT44 forwarding state:
sudo python3 from vyos.vpp import VPPControl vpp = VPPControl() vpp.api.nat44_show_running_config().forwarding_enabled
Output:
>>> vpp.api.nat44_show_running_config().forwarding_enabled True
Now configure NAT:
set vpp nat44 address-pool translation address '192.0.2.1' set vpp nat44 interface inside 'eth0' set vpp nat44 interface outside 'eth0'
Check again:
>>> vpp.api.nat44_show_running_config().forwarding_enabled False
As shown, simply modifying NAT44 settings unintentionally disables NAT44 forwarding. The same effect on this option occurs with many other NAT44 settings. I haven't tested all of them, so it's possible that any NAT configuration change resets the option.