Hi Elias, Sorry for the delay... The issue is actually a known issue but ill-documented: because of the way Mellanox NICs handle jumbo frame, we cannot support chain-buffers efficiently. You need to configure VPP buffer data size big enough to fit the biggest packet you expect to receive. For example, you can add the stanza "buffers { default data-size 8000 }" to your startup.conf [1]. It is not done by default because it will waste a lot of memory for all the other interfaces. Also note that there are some limitations right now regarding "default data-size" accepted values, eg. setting it to 9000 will crash at initialization. I'll fix the doc (and add an error counter to make it obvious) and the crash.
Best ben [1] https://fd.io/docs/vpp/master/gettingstarted/users/configuring/startup.html#the-buffers-section > -----Original Message----- > From: Elias Rudberg <elias.rudb...@bahnhof.net> > Sent: mardi 2 juin 2020 12:41 > To: Benoit Ganne (bganne) <bga...@cisco.com>; cho...@chopps.org; vpp- > d...@lists.fd.io > Subject: Re: [vpp-dev] ixge and rdma drivers > > Hi Ben, > > > > (I think there may be a problem with the rdma plugin for larger MTU > > > values but for MTU < 2000 or so, everything works fine.) > > > > It should work, jumbo support was added in the last months. Or do you > > refer to something else? > > I think I mean something else, a problem that I noticed a few weeks ago > but never had time to report it then. Now I tried again and it can > still be reproduced with the current master branch. > > The setup is that I have one server running VPP doing NAT44 and then I > have two other servers on inside and outside. This works fine when the > MTU is 1500. Then I set the MTU to 3000 on all involved interfaces and > restart VPP. Now it works as longas only small packets are used, but as > soon as a packet larger than ~2048 bytes appears, VPP stops working. > (Doing e.g. ping -s 2100 is enough to trigger it.) After that VPP is > stuck in some kind of error state from which it does not recover, even > small packets are not forwarded after that. > > I tried to investigate further and then it seemed like that what > happens is that the RDMA_DEVICE_F_ERROR flag is set in > src/plugins/rdma/input.c which causes the rdma plugin code to get > stuck, the error flag is never cleared it seems. > > The reason why the larger packet size caused an error seems to be that > the log2_cq_size value used in src/plugins/rdma/input.c is > log2_cq_size = 11 which corresponds to 2^11 = 2048 bytes which is > roughly the packet size where the problem appears. > > So I got the impression that the rdma plugin is limited to 2^11 = 2048 > bytes MTU due to the log2_cq_size = 11 value. Maybe that can be > configured somehow? In any case, it seems bad that VPP gets stuck after > one such error appears, it would be better if it just increased an > error counter and dropped the packet. > > Best regards, > Elias
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#16714): https://lists.fd.io/g/vpp-dev/message/16714 Mute This Topic: https://lists.fd.io/mt/74623336/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-