Sadly, your question lacks a lot of detail. You don't tell us:
- What version of VxWorks you're using
- What kind of runtime configuration you're using (UP vs. SMP)
- What kind of network traffic you're dealing with (TCP? UDP?)
- What kind of system is on the other end of your 10GbE link (another P4040? a Windows host? a FreeBSD host? a Linux host?)
All of these things matter.
You're going to have trouble getting very high speed from the 10GbE port with the standard TCP/IP stack. This is because it doesn't have any special optimizations for the QorIQ DPAA hardware. There are drivers for the Qman, Bman and Fman components, however the TCP/IP stack has not been specially modified to take special advantage of them. The DTSEC and TGEC drivers are just standard END drivers layered on top of the Qman/Bman/Fman infrastructure.
Also, the QorIQ DPAA architecture is designed to provide the best optimization for packet pushing applications, like forwarding or firewalling. This is different from endpoint applications, like file serving. The DPAA is great for fast path ingress/egress processing -- if you use it right. For something like an http server though, you can gain some performance by using the multiple cores to run several handling tasks in parallel and using the DPAA to help classify the traffic and dispatch it to those cores, but that requires a lot of customizations. The TCP/IP stack that comes with VxWorks is designed to be portable to all supported platforms, so it isn't customized for those kinds of things.
The only general things you can try are:
1) Use SMP. You should gain some performance with an SMP kernel (tNet0 and your application task can run on their own cores)
2) Use jumbo frames. To do this, add a "jumboFrames" parameter to the hwconf.c file like the documentation in the TGEC driver source tells you to do, then do:
-> ifconfig "tgec0 mtu 9000"
Note that in order for this to work, all connected devices must support jumbo frames. That includes the host on the other side and any switches in between. If the host on the other side is not VxWorks, then consult your OS documentation on how to enable jumbo frames. For most UNIXes and Linux, you just need to increase the MTU as shown above, assuming the underlying driver supports it.
-Bill