Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Jun 2014 10:24:35 +0200
From:      Luigi Rizzo <rizzo@iet.unipi.it>
To:        Prashant Upadhyaya <praupadhyaya@gmail.com>
Cc:        "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>, Carlos Ferreira <carlosmf.pt@gmail.com>
Subject:   Re: netmap
Message-ID:  <CA%2BhQ2%2Bgi9SiZuM4Nvw4CjJG9sX3cNZ4KNfXSkDcFfcPvW4A22Q@mail.gmail.com>
In-Reply-To: <CAPBAu3U9_VTUCPk_61maSAyxM_VHgSui8kbT65=b-jsXNzqJcA@mail.gmail.com>
References:  <CAJpYY6Wj6NkYVdPzitswLQ2oVoX9JAv5tCnzbP6icsgJTdfm8Q@mail.gmail.com> <CA%2BhQ2%2BhHz2FKUkCRnHiGAVxZqxY5WHPPo87mVgSnSmPzovNLWw@mail.gmail.com> <CAJpYY6V6Ewc%2BXQYBi3BQbFtWgLiFKN_qmBLjAx1HyWhB9Q0vcg@mail.gmail.com> <CAJpYY6VJ9ih1ON1s1mnzrc-P7Xa_vsVS3UC49gnii0cLX%2B=TNA@mail.gmail.com> <20140614101523.GD22187@onelab2.iet.unipi.it> <CAJpYY6Usfv98OEsgXedP5MCqdJsd_rz7N4EhgRmP2NcxZ9eQ9g@mail.gmail.com> <CA%2BhQ2%2Bj4RrCxjSu79Zt9BVnKUTcRxO615msGH5_uoLrEinbcPQ@mail.gmail.com> <CAJpYY6XBg8=g7sjVbu%2B6%2BEG1-vW1dymsvD8pL-EB08B=_z=usA@mail.gmail.com> <CAPBAu3U9_VTUCPk_61maSAyxM_VHgSui8kbT65=b-jsXNzqJcA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Saturday, June 28, 2014, Prashant Upadhyaya <praupadhyaya@gmail.com>
wrote:

> Hi,
>
> Any further news ?
>
> Professor Luigi, one question regarding the tx with netmap.
> Whenever, I write a packet from user space into netmap rings, and if I
> want netmap to send this out immediately, do I necessarily have to do
> a ioctl(fd, NIOCTXSYNC, NULL) ?
>

Yes it is up to the application to decide when to push packets out with a
txsync or select() or poll(), and unfortunately there is a tradeoff between
efficiency and latency

Cheers
Luigi


>
> I have an application which receives packets, does some processing and
> then sends them out. If I keep doing ioctl's on every packet send, then
> there will be too may system calls hitting performance, the application
> can't afford to block it has to return back to polling for the receipt of
> next packet.
>
> On the receive side, I see that I don't have a problem because I can poll
> the ring without initiating an RXSYNC and whenever in user space I find
> that there is nothing on the ring (probably half way down the ring size),=
 I
> do an RXSYNC to get more packets thus saving system calls.
>
> But on tx side, I have noticed that unless I do a TXSYNC, the packet does
> not go out, please let me know if I am missing something.
>
> Regards
> -Prashant
>
>
>
> On Tue, Jun 17, 2014 at 7:33 PM, Carlos Ferreira <carlosmf.pt@gmail.com
> <javascript:_e(%7B%7D,'cvml','carlosmf.pt@gmail.com');>> wrote:
>
>> Great! :)
>> I will give you the results as soon as I can get them :)
>>
>>
>>
>> On 17 June 2014 12:55, Luigi Rizzo <rizzo@iet.unipi.it
>> <javascript:_e(%7B%7D,'cvml','rizzo@iet.unipi.it');>> wrote:
>>
>> > On Mon, Jun 16, 2014 at 5:30 PM, Carlos Ferreira <carlosmf.pt@gmail.co=
m
>> <javascript:_e(%7B%7D,'cvml','carlosmf.pt@gmail.com');>>
>> > wrote:
>> >
>> >> Ok, thanks for the enlightenment regarding the loss of performance.
>> >>
>> >> One question, just to be sure. Does the kernel module contains the VA=
LA
>> >> switch code? Or do I need to compile extra code to have the switch
>> working?
>> >> Also, where can I find the documentation to use the Vala Switch?
>> >>
>> >
>> > =E2=80=8BVALE is part of the netmap kernel module, the only thing you =
need
>> > to know to use it is port names:
>> > you can have multiple switch instances with multiple ports each,
>> >
>> > valeX:Y means port Y on switch X, X and Y are arbitrary strings
>> > with the constraint that the whole name must fit 15 characters.
>> >
>> > Details in the netmap manpage
>> >
>> > cheers
>> > luigi
>> >
>> >
>>
>>
>> --
>>
>> Carlos Miguel Ferreira
>> Researcher at Telecommunications Institute
>> Aveiro - Portugal
>> Work E-mail - cmf@av.it.pt <javascript:_e(%7B%7D,'cvml','cmf@av.it.pt');=
>
>> Skype & GTalk -> carlosmf.pt@gmail.com
>> <javascript:_e(%7B%7D,'cvml','carlosmf.pt@gmail.com');>
>> LinkedIn -> http://www.linkedin.com/in/carlosmferreira
>> _______________________________________________
>> freebsd-net@freebsd.org
>> <javascript:_e(%7B%7D,'cvml','freebsd-net@freebsd.org');> mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-net
>> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org
>> <javascript:_e(%7B%7D,'cvml','freebsd-net-unsubscribe@freebsd.org');>"
>>
>
>

--=20
-----------------------------------------+-------------------------------
 Prof. Luigi RIZZO, rizzo@iet.unipi.it  . Dip. di Ing. dell'Informazione
 http://www.iet.unipi.it/~luigi/        . Universita` di Pisa
 TEL      +39-050-2211611               . via Diotisalvi 2
 Mobile   +39-338-6809875               . 56122 PISA (Italy)
-----------------------------------------+-------------------------------



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2BhQ2%2Bgi9SiZuM4Nvw4CjJG9sX3cNZ4KNfXSkDcFfcPvW4A22Q>