From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dominique Martinet Subject: Re: 9p/RDMA for syzkaller (Was: BUG: corrupted list in p9_read_work) Date: Fri, 12 Oct 2018 17:08:55 +0200 Message-ID: <20181012150855.GA22149@nautica> References: <20181009020949.GA29622@nautica> <20181010144059.GA20918@nautica> <20181010155814.GC20918@nautica> <20181011131045.GA32030@nautica> <20181011141928.GB32030@nautica> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Cc: Leon Romanovsky , syzbot , David Miller , Eric Van Hensbergen , LKML , Latchesar Ionkov , netdev , Ron Minnich , syzkaller-bugs , v9fs-developer@lists.sourceforge.net To: Dmitry Vyukov Return-path: Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org Dmitry Vyukov wrote on Fri, Oct 12, 2018: > > I don't see any read on these fd despite epoll being set to wait for > > read events on these so I'm not quite sure where ibverbs knows if the > > commands worked or not, but hopefully that illustrats that it's slightly > > more complex than just socket/bind/listen/accept/write/close! :) > > Yes, it seems so. > > I guess I am still missing the big picture somewhat. > If we do "echo -n FOO > /sys/module/rdma_rxe/parameters/add" and let's > say FOO is a tun device. Does it mean that we will send/receive > packets from the tun? If yes, that would make things simpler. And do > we still need ring buffers in that case? If not and we still send/recv > via in-memory ring buffers, then why do we need tun at all? Hmm, good point; I hadn't looked at the network level how this is emulated. When I use a single VM I do not see anything with tcpdump on any interface, so I assume the kernel short-cuts the interface in this case. When communicating between two machines there obviously is traffic; it appears to be transported over udp - I see the messages I sent in plain text in the dump and there is only a handful of packets for the whole connecting and teardown so it's definitely much simpler. This might have some knob I am not aware of to force the driver to send udp in the local setup, if we can it's going to be much easier to reimplement the rxe emulation protocol with raw syscalls than what I was describing earlier... > Leon, maybe you know how to setup a stub rdma that we could use as 9p > transport? If we do this, I guess it will also expose lots of > interesting rdma code paths for testing. I'm doing this on my free time atm so I can't invest too much, would love some help if you're aware of anything :) -- Dominique