See …/src/vlib/main.c, and 
https://fdio-vpp.readthedocs.io/en/latest/gettingstarted/developers/vlib.html?highlight=dispatch#graph-node-dispatcher
 

At this level, we need to make a distinction between a vlib_pending_frame_t – a 
vector of buffer indices to be processed by a certain node – and the nodes 
themselves.  Input nodes schedule pending frames – quite often, multiple 
pending frames. The dpdk plugin input routine will be perfectly happy to 
schedule a frame to be processed by ip4-input-no-checksum AND ip6-input in the 
same dispatch cycle.

Each worker thread / vlib_main_t has its own pending frame vector, which is the 
basic way the code processes multiple frames in parallel with multiple worker 
threads.

There are some corner-cases in the code base having to do with vpp’s directed 
(vs. directed *acyclic*) node graph. It’s normal for packets to “loop back” in 
the graph. Consider adding gre tunnel encaps, and handing the packets back to 
ip4-lookup. It’s OK (albeit really odd) for a node to enqueue packets back to 
itself.

HTH… Dave

On 10/21/18, 10:27 AM, "vpp-dev@lists.fd.io on behalf of A. Ilchinger" 
<vpp-dev@lists.fd.io on behalf of a.ilchin...@gmx-topmail.de> wrote:

    Hello,
    
    I'd like to know a few more details how the packet scheduling in the
    node graph works.
    From what I understand, in every scheduling "event", the input node is
    executed. But what about the other nodes? Are they executed in parallel
    or sequentially? Is a packet vector processed completely after every
    scheduling "event" or does it need multiple to get processed fully? Is
    there always a single packet vector moving through the graph at the
    same time or can there be multiple packet vectors?
    
    Kind regards
    Andreas
    

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

View/Reply Online (#10896): https://lists.fd.io/g/vpp-dev/message/10896
Mute This Topic: https://lists.fd.io/mt/27434714/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