> On 24 Jan 2019, at 10:39, Benoit Ganne (bganne) via Lists.Fd.Io 
> <bganne=cisco....@lists.fd.io> wrote:
> 
> Hi all,
> 
> While refactoring the GBP plugin to use feature arcs instead of hardcoded L2 
> feature bits, I had to basically duplicate my feature arc nodes 3x (and 
> disable/enable them 3x etc.) because the L2 feature arcs are divided in 3 
> flavors: nonip (no IP ethertype), ip4 (IPv4 ethertype) and ip6 (IPv6 
> ethertype). It works but I'd prefer to hide this complexity from the plugins.
> I can see several possibilities:
> 1) add a new feature arc flavor 'all' alongside nonip, ip4 and ip6. Nodes on 
> this arc will gets all packets regardless of the headers. It keeps backward 
> compat but should add a small performance hit when L2 feature arcs are 
> enabled (we have to visit 4 feature arcs instead of 3). This is my favorite.

How this works if you have features enabled on both all and ip4 for example?

> 2) remove feature arcs flavors and just pass all packets to feature nodes. It 
> is the responsibility of the nodes to check the packet type. It simplifies 
> the L2 feature arc code but breaks backward compat. It could also be slightly 
> less efficient as the ethertype test will happen later and must be 
> duplicating in all feature nodes.
> 3) add a new feature arc using a new feature bit. It does not modify the 
> current path at all, so perf & compat is unchanged but adds some complexity 
> in the L2 path.
> 4) keeps the 3 flavors as they are but add helper to register nodes to the 3 
> arcs - basically move helpers from GBP plugin to vnet/l2. Basically same 
> up/downside as (3)
> 5) keep it as is (boilerplate in GBP)
> 
> My favorite would be (1) but I'd like to hear from more experience VPP dev.


I would say 2, but that's just my 2 cents...

-- 
Damjan

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#11987): https://lists.fd.io/g/vpp-dev/message/11987
Mute This Topic: https://lists.fd.io/mt/29523811/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to