Dave
When I set next0 to ETHERNET_INPUT - packets seems to be processed normally
This make sense because my plugin is based on the sample - which is invoked 
*before* the ETHERNET_INPUT

Best Regards
Avi

> -----Original Message-----
> From: Avi Cohen (A)
> Sent: Thursday, 08 March, 2018 9:13 AM
> To: 'Dave Barach'; vpp-dev@lists.fd.io
> Subject: RE: [vpp-dev] VPP - mechanism to drop packets
> 
> Thank you Dave,
> The drop is working perfectly
> But  the other path - to let the packet continue in the 'normal' path is 
> broken.
> How to set the next0 for the 'normal' path ?
> The sample plugin (which my plugin is based on)  set it to INTERFACE_OUTPUT
> - which is not suitable for this case.
> 
> Btw - how can I see  the  whole path on the graph  assigned for a packet ?
> 
> Best Regards
> Avi
> 
> > -----Original Message-----
> > From: vpp-dev@lists.fd.io [mailto:vpp-dev@lists.fd.io] On Behalf Of
> > Dave Barach
> > Sent: Wednesday, 07 March, 2018 4:08 PM
> > To: vpp-dev@lists.fd.io
> > Subject: Re: [vpp-dev] VPP - mechanism to drop packets
> >
> > Dear Avi,
> >
> > Yes, if you decide to drop b1, set next1 / error1 in the obvious way.
> >
> > The macros vlib_validate_buffer_enqueue_x[2|4] sort out the various
> > incorrect speculative enqueue / 2 or 4 pkts going to different successor 
> > node
> cases.
> > Simply set (nextN, errorN) as desired and let the boilerplate code deal with
> it...
> >
> > D.
> >
> > -----Original Message-----
> > From: Avi Cohen (A) <avi.co...@huawei.com>
> > Sent: Wednesday, March 7, 2018 9:02 AM
> > To: Dave Barach (dbarach) <dbar...@cisco.com>; vpp-dev@lists.fd.io
> > Subject: RE: [vpp-dev] VPP - mechanism to drop packets
> >
> > Thank you Dave - this is very helpful
> > Please see comments inline
> >
> > > -----Original Message-----
> > > From: vpp-dev@lists.fd.io [mailto:vpp-dev@lists.fd.io] On Behalf Of
> > > Dave Barach
> > > Sent: Wednesday, 07 March, 2018 3:20 PM
> > > To: vpp-dev@lists.fd.io
> > > Subject: Re: [vpp-dev] VPP - mechanism to drop packets
> > >
> > > Add an arc from your node to the "error-drop" node, set next0 =
> > > MYNODE_NEXT_ERROR and b0->error = node->errors[SOME_ERROR].
> > >
> > [Avi Cohen (A)]
> > I'm using the standard loop - this is with the next0 and next1 - this
> > mean that we are processing  2 pkts within a single stage of the loop - 
> > correct
> ?
> > In this case if I want to drop both pkts I have to set the next1 to
> NEXT_ERROR
> > as well correct ?
> >
> > > Please use the standard dual/single - or quad/single - loop code
> > > pattern to walk the incoming vector of buffer indices. You will hate
> > > your life if you try to code the vector-walk from first principles.
> > > It's not impossible, but I it will be a waste of your time / a bunch
> > > of needless
> > aggravation.
> > >
> > > b0->sw_if_index[VLIB_TX] is interpreted in a couple of different ways.
> > > b0->"ip4/6-
> > > lookup" interprets it as a fib index. "interface-output" interprets
> > > it as a [tx] hardware interface ID.
> > >
> > > I'm not sure what you're trying to do, but if it involves an ip
> > > lookup, do NOT set
> > > b0->sw_if_index[VLIB_TX]. Let the fib code do its job, and send pkts
> > > b0->to either
> > > the input nodes - if mandatory input checks / ttl decrement have not
> > > been performed - or to the lookup stage if e.g. you've rewritten the
> > > ip header(s) in some fashion.
> > [Avi Cohen (A)]
> > I'm implementing my fwding function and I want to bypass the IP-lookup
> > And maybe do some rewrite and then to interface-output
> >
> > Best Regards
> > Avi
> > >
> > > HTH... Dave
> > >
> > > -----Original Message-----
> > > From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of Avi
> > > Cohen
> > > (A)
> > > Sent: Wednesday, March 7, 2018 6:38 AM
> > > To: vpp-dev@lists.fd.io
> > > Subject: [vpp-dev] VPP - mechanism to drop packets
> > >
> > > Hi,
> > > I'm implementing a simple policy plugin , below is the pseudo-code
> > >
> > > Go over the packets vector
> > > While (there are packets to process ) { Check if a packet match a
> > > specific rule
> > >   If yes - set the out-interface for the packet to be transmitted
> > >   Else - drop packet
> > > }
> > >
> > > 2 Question -
> > > 1. is there  any function/mechanism that implements a drop ? or any
> > > filed in the packet's metadata for drop marking ?
> > > 2. Regarding the set tx out interface - I see that I can set the
> > > sw_if_index[VLIB_TX] - so the packet will be later transmitted
> > > through this interface - is this correct ?
> > >
> > > Best Regards
> > > Avi
> > >
> > >
> > >
> > >
> > >
> >
> >
> > 


-=-=-=-=-=-=-=-=-=-=-=-
Links:

You receive all messages sent to this group.

View/Reply Online (#8467): https://lists.fd.io/g/vpp-dev/message/8467
View All Messages In Topic (6): https://lists.fd.io/g/vpp-dev/topic/14153536
Mute This Topic: https://lists.fd.io/mt/14153536/21656
New Topic: https://lists.fd.io/g/vpp-dev/post

Change Your Subscription: https://lists.fd.io/g/vpp-dev/editsub/21656
Group Home: https://lists.fd.io/g/vpp-dev
Contact Group Owner: vpp-dev+ow...@lists.fd.io
Terms of Service: https://lists.fd.io/static/tos
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to