netmap-ipfw on em0 em1

Luigi Rizzo rizzo at iet.unipi.it
Sun Nov 9 23:23:07 UTC 2014


On Sun, Nov 9, 2014 at 1:17 PM, Evandro Nunes <evandronunes12 at gmail.com>
wrote:

> professor luigi
>
> where can I find the code for netmap-fwd you mentioned on usenix paper?
>
>
​that has been renamed to bridge.c

cheers
luigi
​


>
> ** https://www.usenix.org/system/files/conference/atc12/atc12-final186.pdf
>
> On Sun, Nov 9, 2014 at 5:31 PM, Evandro Nunes <evandronunes12 at gmail.com>
> wrote:
>
>> hello again patrick
>>
>> On Sun, Nov 9, 2014 at 12:54 AM, Patrick Tracanelli <
>> eksffa at freebsdbrasil.com.br> wrote:
>>
>>> > (Machine-A)<-->Machine-B<--->(MachineC)
>>> >
>>> > Machine-A:
>>> > em0 172.16.251.3/24
>>> >
>>> > Machine-B:
>>> > em1: 172.16.251.1/24
>>> > em2: 172.16.252.1/24
>>> > 10.0-STABLE w/ latest netmap-ipfw and netmap code from google code
>>> > repository
>>> >
>>> > Machine-C:
>>> > em0 172.16.252.3/24
>>>
>>> Now, your scenario is a typical routing topology. kipfw has no packet
>>> forwarding capabilities whats why when you start it, you are out of
>>> forwarding capabilities and therefore, out of communication between machine
>>> A and C because they just need it in your topology.
>>>
>>> So for your testing purposes read again what Mahaza said:
>>>
>>> >> ipfw works as a bridge and copy
>>> >> incoming packets to em0 to em1 if they pass defined rules (and vice
>>> versa,
>>> >> from em1 to em0).
>>>
>>> Got it? kipfw will work as a BRIDGE and COPY between the NIC ports.
>>>
>>> Therefore on your topology do a simple change:
>>>
>>> Machine-C:
>>> ifconfig em0 172.16.251.4/24
>>>
>>> So machine C will be in the same network of machine A.
>>>
>>> WITHOUT kipfw you will be OUT of communication. If you want to have
>>> communication without kipfw please configure if_bridge(4) properly.
>>>
>>> Now WHEN you ./kipfw netmap:em1 netmap:em2 you will BRIDGE em1 and em2
>>> ports and therefore you will HAVE communication between the NICS.
>>>
>>> And you are done, just as a miracle! Thanks to Luigi.
>>>
>>
>> YES IT WORKED YES
>> thank you VERY MUCH for the kind help and for making it clear all the
>> stuff I missed reading, yes I assume I should have read more or at least
>> understood
>> now I can see how the things works and it does work
>>
>> THANK YOU again very much
>>
>>
>>
>>> Now its time to have some fun:
>>>
>>> ipfw/ipfw add pipe 1 all from 172.16.251.0/24 to 172.16.251.0/24
>>> ipfw/ipfw <http://172.16.251.0/24ipfw/ipfw> pipe 1 config bw 128Kbit/s
>>> delay 300
>>>
>>> and now ping machine-A and machine-C and see dummynet working as
>>> expected...
>>>
>>> I believe you can keep on with your testings now!!! :-)
>>>
>>
>> yes it worked as well
>>
>> now let me ask you all, other than click, does netmap offers something
>> that can do packet forwarding? simple packet forwarding like the scenario I
>> was trying before? I know this is not kipfw and not bridge but is there
>> something?
>>
>> thank you
>>
>>
>>
>>> BTW Luigi, I see netmap was commited to GENERIC on -CURRENT. I believe
>>> it may be a good idea to add netmap-ipfw to the base system now, to both
>>> promote more testing and also to be a good companion to netmap on GENERIC.
>>> I dont mean a new ipfw-netmap binary under /sbin/ but just the code on
>>> /usr/src/tools/tools.
>>>
>>
>> yes and some handbook or a better README that at least mentions the
>> correct syntax for the tools
>> I think adrian chadd mentioned something about that in an earlier message
>>
>>
>>>
>>> I've been using netmap-ipfw for a while and sure it lacks more
>>> flexbility like the ability to kipfw several ports, etc. But as it is right
>>> now, it's very stable and reliable for a preliminary code. Thats why I
>>> believe it should be on the base system. Thank you very much for the
>>> incredible technology.
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
>


-- 
-----------------------------------------+-------------------------------
 Prof. Luigi RIZZO, rizzo at 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)
-----------------------------------------+-------------------------------


More information about the freebsd-net mailing list