Two netmap issues : 1. "protocol 0000 is buggy" , 2: network applications stuck

arthurwang wangzheng at jrq.com
Mon Jul 20 12:05:28 UTC 2015


Hi  ,

        I’m new to netmap , “a novel framework for fast packet I/O” accroding to http://info.iet.unipi.it/~luigi/netmap/#85cb <http://info.iet.unipi.it/~luigi/netmap/#85cb> ,  :). Im doing a test for its bridge.c example program , which do a bridging(namely proxying , I suppose ) job between NIC and host stack ,by  running  “./bridge -i net map:ethic” from command line ,  and I have two problems :


Problem 1 : 

        It issues  “protocol 0000 is buggy”  once per second ,  seems not running correctly, by contrast to the normal state , under which print “poll timeout “ once per 2.5 seconds . This issue not always exist. 

        Here is the procedure to reproduce:

        1>  install a centOS 6.5 on vmware fusion 7( host: mbp )
    
        2>  download kernel 2.6.32.67 from kernel.org <http://kernel.org/>, compile & install it, reboot the guest OS. 

        3>  clone netmap from https://github.com/ppLorins/netmap <https://github.com/ppLorins/netmap>  , unpack & compile it , insert the netma.ko to kernel.

        4>  compile the bridge.c example 

        5>  run example with “./bridge -i netmap:eth0”

        Thus , it will print the error message “protocol 0000 is buggy” , I explore it by google for quite a long time, found nothing . 

        Environment info about the guestOS centOS6.5   , from a “name -a” call :    

        Linux localhost.localdomain 2.6.32.67 #1 SMP Fri Jul 17 08:41:59 CEST 2015 i686 i686 i386 GNU/Linux

       As for the NIC driver , I have no idea about it but it was simulated by vmware, sorry for this ,but  if you need extra information about it , tell me how to view it by command line , and I will reply as soon as possible . 

Problem 2: 

    Even though Problem 1 not exists ,   the program also appears to be  something  wrong , Here are what I found :

    1> ping request from another machine can return normally ( same as I supposed )  
   
    2> new tcp connection(requested by telnet, destination port is 22 ) can be successfully established  from other machine  ( same as I supposed )  

    3>  existing session (pts/0 , pts/1 )  founded by a precede ssh call , are stuck , cannot enter any character or get any response into/from screen. (confusing)

    4>  new ssh request (represents all  tcp applications ),    cannot get response  and timed out. (confusing )

     In my assumption, there should be no difference with or without the bridge program running ,  for the upper layer network applications .Since bridge just acts  as a proxy between NIC and host stack ,and do nothing except that .      Thus all ip(ping) or tcp(ssh) layer applications should act as normal , but unfortunately just part of them are okay .

     Can anyone help ? I know there are few people using netmap , it’s quite a novel technique for network application….

     Thanks a lot.
 


— ArthurWang
— Best Regards






More information about the freebsd-net mailing list