Hi Neale,

On Sat, Oct 1, 2022 at 1:10 AM Neale Ranns <ne...@graphiant.com> wrote:

>
>
> Hi Padraig,
>
>
>
> *From: *vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> on behalf of Pádraig
> Connolly via lists.fd.io <pcpadraigconnolly96=gmail....@lists.fd.io>
> *Date: *Saturday, 1 October 2022 at 09:52
> *To: *vpp-dev@lists.fd.io <vpp-dev@lists.fd.io>
> *Subject: *[vpp-dev] Insert Custom Node Into ip4-unicast Feature Arc
>
> Hi,
>
>
>
> For purely my own learning, I am trying to insert my custom node into the
> ip4-unicast feature arc. Based on what I know so far, I would expect the
> following FEATURE_INIT struct to achieve what I want :
>
> VNET_FEATURE_INIT (padraig, static) =
> {
>   .arc_name = "ip4-unicast",
>   .node_name = "padraig",
>   .runs_before = VNET_FEATURES ("ip4-lookup"),
> };
>
>
>
> This and a call to vnet_feature_enable_disable(“ip4-unicast”, “Padraig”,
> sw_if_index_foo, 1, NULL, 0) shoud be all you need.
>
[PC] That was exactly the problem, I had "vnet_feature_enable_disable
("device-input", "padraig", sw_if_index, enable_disable, 0, 0);"  hooked to
my enable-disable command, once that was fixed, it allworked, thank you
very much

>
>
> But sadly no vectors reach my custom node "padraig" when I send a IPv4
> ping through (A trace shows no interaction with the vector).
>
> The next thing I tried was:
>
> VNET_FEATURE_INIT (padraig, static) =
> {
>   .arc_name = "ip4-unicast",
>   .node_name = "padraig",
>   .runs_after = VNET_FEATURES ("ip4-input"),
>   .runs_before = VNET_FEATURES ("ip4-lookup"),
> };
>
>
>
> But with this I get the following runtime error:
>
> vpp[39613]: vnet_feature_arc_init:272: feature node 'ip4-input' not found
> (before 'padraig', arc 'ip4-unicast')
>
>
>
> ip4-input is the node at which the ip4 input feature arcs start, so it is
> not a feature on the arc, therefore other nodes cannot run before it.
>
>
>
> I have inserted the node in the device-input feature arc before
> ethernet-input as per the wiki doc and it works perfectly but should I
> assume ip4-unicast feature arc is not really meant to have any custom nodes
> added to it? Or is this just a bad configuration on my side?
>
>
>
> Ip4-unicast can have custom features added, see e.g. IP reassembly;
> ip4_full_reass_enable_disable()
>
>
>
> For vectors to reach my node, does a vnet node have to have my custom node
> set as a "next_node"?
>
>
>
> No. next nodes automatically added when the feature is enabled for the
> first time.
>
>
>
> /neale
>
>
>
> Thanks in advance,
>
> Padraig
>
>
>
> 
>
>
Thanks very much for your help!

Padraig
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#21952): https://lists.fd.io/g/vpp-dev/message/21952
Mute This Topic: https://lists.fd.io/mt/94037156/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]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to