Hi, https://gerrit.fd.io/r/c/vpp/+/37695
Here you go: FEATURE_ALREADY_DISABLED FEATURE_ALREADY_ENABLED There is much work to be done on the error tracking side of the whole nat api though. I wouldn't rely to much on specific errors more on failure / success for now. Best regards, Filip Varga st 23. 11. 2022 o 13:59 filvarga via lists.fd.io <filipvarga89= gmail....@lists.fd.io> napísal(a): > Hi, > > I understand your perspective. But you have to think in a longer > perspective of NAT changes. The concept of enabling / disabling plugins on > the go is not super common among VPP. This was just an addition for SDN > deployments so configuration through startup config can be avoided and > reallocation - change in number of sessions etc. can be done on the fly. > Because of that we haven't yet committed to a "proper" way to handle > events. Why did I choose those return values ? Because UNSUPPORTED is > widely used if some action is not supported at the moment. This also > applies to calling different control plane logic through API on nat44-ed > and among other plugins. So trying to enable already enabled plugin returns > UNSUPPORTED and trying to disable plugin that is not configured will result > in VNET_API_ERROR_UNSUPPORTED. Maybe addition to add > VNET_API_ERROR_FEATURE_ENABLED could work for you. What I would advise is > to wait for this patch to get merged and then add additional > VNET_API_ERROR_FEATURE_ENABLED into vnet/error.h and changing the return > value (just so we comply with how patches should be submitted). > > I will do the same for EI. Thank you for pointing that out. > > Also consider that the part of code returning VNET_API_ERROR_UNSUPPORTED > in nat44-ed enable/disable call for unsupported flags is just a backward > API compatibility logic. That means it should never happen so relying on > VNET_API_ERROR_UNSUPPORTED if plugin is already enabled should be > sufficient. > > As I mentioned before NAT44-ED code architecture isn't ideal but that is > because of its history and both ED and EI and other flavors of NAT where > one big plugin previously (SNAT) now we are moving forward and cleaning it > up (or I am). > > Thank you for your interest. > > Best regards, > Filip Varga > > > st 23. 11. 2022 o 12:59 Jon Loeliger via lists.fd.io <jdl= > netgate....@lists.fd.io> napísal(a): > >> On Wed, Nov 23, 2022 at 12:25 PM filvarga <filipvarg...@gmail.com> wrote: >> >>> Hi, >>> >>> Thank you for your notes and pointing out the issue. Feel free to submit >>> any changes in the future and add appropriate people to your review (based >>> on maintainers list). >>> >> >> Thanks, will do! >> >> For now I am posting a quick fix. As the nat44-ed control plane is >>> undergoing a continuous huge refactor I wouldn't advise too much diverting >>> from its current state.\ >>> >> >> I might point out that this applies to both ED and EI. They both display >> the same issues. >> >> >>> Better solution here is to check the return value of enable / disable >>> calls and then set rv appropriately. >>> >> >> Exactly. But in this case I couldn't because it was buried in a macro >> that didn't return. >> >> >>> For now (based on return codes from vnet/error.h) I will use these >>> VNET_API_ERROR_FEATURE_DISABLED >>> VNET_API_ERROR_UNSUPPORTED >>> for enable/disable api errors rather than introducing something new that >>> can get removed in near future. >>> >> >> Those error values miss the important case of identifying the case where >> one is >> trying to enable the already-enabled feature. We need to know and >> identify that >> case, just as many of the other Features do. >> >> Thanks, >> jdl >> >> >> >> >> > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#22244): https://lists.fd.io/g/vpp-dev/message/22244 Mute This Topic: https://lists.fd.io/mt/95222842/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/1480452/21656/631435203/xyzzy [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-