Giter Club home page Giter Club logo

packet-io-engine's People

Contributors

achimnol avatar leeopop avatar tonimontana534 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

packet-io-engine's Issues

ps_send_chunk() stops working after sending random sized packets

Hi,

I tried testing the module more with the supplied packet_generator.c - if you add "packet_size = 60 + rand() % 1000;" after the for loop at line 399 (in send_packets()) - this makes the packet size random between 60-1060 bytes long - and after less than 1 minute of sending packets, suddenly PPS drops to zero.

Investigating it I saw that ps_send_chunk() returns 0 (0 packets sent) - and even if I try sending regular 60 byte packets after this - it won't send anything, the driver is dead.

The only workaround to this is to do "ifconfig down" and then "up" - then everything works, but if random sized packets are sent - again the same issue happens.

Any ideas?

Vlan support

Drivers and samples Vlan support is missing.
Testing ps_ixgbe module with rxdump.c shows tagged traffic as untagged, probably by the driver.
Adding native vlans causes all traffic to be dropped.

ixgbe kernel crash bug on unload

Hi,

I experienced a lot of times that after using PSIO (loading the module, sending/receiving some packets), if I rmmod ps_ixgbe the kernel module will crash and the machine will reboot.

HOWEVER - if under the same conditions I first issue "ifconfig xge[n] down" for all xge's - and then rmmod the module - it will not crash.

Any ideas

1 core = wirespeed 10G

Hi,

It seems as though PSIO can only reach up to around 5M PPS with one core - while other libraries (e.g. netmap) produce full 10G wirespeed results with the same 1 core.

Please improve the performance of PSIO to match it

Thanks!!!

LACP support?

Hi,

Is LACP supported currently?

I'd like to be able to connect two 10G ports to a trunk on a switch..

Thank

there is not a one-to-one correspondence between a packet and the length

I modify the packet generator like this to send the random size packet:

         chunk.queue.ifindex = devices_registered[i];
         working = 1;

+        int offset = 0;

      for (j = 0; j < chunk_size; j++) {
+            
+            packet_size = rand() % 2 + 400;

              chunk.info[j].len = packet_size;
//        chunk.info[j].offset = j * PS_ALIGN(packet_size, 64);
+            chunk.info[j].offset = offset;
+           offset = PS_ALIGN(offset + packet_size, 64);

             if (num_flows == 0){

then I run the command like this:
./packet_generator -i xge0 -p 512 -s 64

I use the libpcap reading the packet at another mechine, use the libnids processing the packet, I find some packet's cap_length - linkoffset is less than ip header's ip total length , like this:

  caplen - linkoffset < ntohs(iph->ip_len)

But the length is not random, it is also the packet we build, it's length should be 401 , but when I receive, it is 400.

For help!!!

flow control support?

I find if I change the flow control state when I am receiving packets, the driver is not work.
example:
if flow control is on.
I use this command:
ethtool -A xge0 autoneg off rx off tx off

then the driver can't receive packets, I must reload the driver.

This issue can also be appear when I hot plug the cable. If I hot plug the cable when I running rx sample, I must reload the driver.

Kernel 3.x?

Hello there is a big need for the latest stable kernel version. Could that framework use that?

Anyone here???

I realize this is not a software defect - but there have been several important issues opened here in the last 6 months that seem to get ignored :(

Is there anybody maintaining this actively?

Joongi Kim is listed as the current maintainer - are you here? are you reading this? can you please assist people trying to use your code?

Warnings & errors on driver compilation

The driver's Makefile seems to be malfunctioning as the make command yields a myriad of warnings & the following error:
error: implicit declaration of function ‘SET_ETHTOOL_OPS’ [-Werror=implicit-function-declaration] SET_ETHTOOL_OPS(netdev, &ixgbe_ethtool_ops);

How to find how many packets being dropped ?

I am wondering is there any way to find out how many packets are being dropped. Either due to device could not handled or the application which was supposed to receive the packets could not handled.

Thanks,
Gurvinder

Buffer size/chunk size

I am wondering what is the buffer size allocated to the device by default and can I increase the buffer size, so that if the end application is bit slow in processing packets it can handle the bursts by having a large buffer size. Another thing is that the current max allowed chunk size is 4096, which seems to be low for application which need to process the packet not just count.

Last issue is that the drop packet count indicated by ethtool is for whole device, it would be really nice to know the drop count per queue.

Thanks,
Gurvinder

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.