[ ] If we have more bind calls, we have a problem. Probably we have to use a table like this: ipv4 0.0.0.0/80 127.0.0.2/8080 ipv6 ::/80 ::1/8080 unix /tmp/sock /tmp/sock1 [ ] Test UDP sendto and sendmsg! [ ] Probably we have to hijack also dup/dup2/etc. [ ] Bandwidth per total or per socket. Better, per ip/protocol [ ] Corrupt data [ ] Add possibility to change destination of packets. [ ] MTU [ ] Add posibility to change on-the-fly the parameters by using a AF_UNIX socket [ ] bwtop: http://superuser.com/questions/32932/is-there-a-way-to-find-out-what-application-using-most-of-bandwidth-in-linux [ ] http://superuser.com/questions/106781/how-do-you-measure-the-bandwidth-used-by-a-given-process-after-it-has-completed [ ] Bandwidth limitting also for download [ ] Dump statistics (bytes, syscalls etc.) in a file specified by a env var. [ ] Need to study how to set only the class for IPv6. Also check Linux kernel to see how prio is set for IPv6 class. [ ] Nice: Force a protocol on a connection! So, uer tries TCP but get UDP! [ ] Controlling timeout (SO_RCVTIMEO, SO_SNDTIMEO) [ ]