On Thu, Nov 3, 2011 at 1:32 PM, Jesse Gross <[email protected]> wrote:
> On Thu, Nov 3, 2011 at 10:38 AM, Ansis Atteka <[email protected]> wrote: > > > > > > On Wed, Nov 2, 2011 at 6:36 PM, Jesse Gross <[email protected]> wrote: > >> > >> On Wed, Nov 2, 2011 at 5:13 PM, Ansis Atteka <[email protected]> > wrote: > >> > On Wed, Nov 2, 2011 at 3:49 PM, Jesse Gross <[email protected]> wrote: > >> >> > >> >> On Mon, Oct 31, 2011 at 5:00 PM, Ansis Atteka <[email protected]> > >> >> wrote: > >> >> > UDP performance is currently limited to much lower numbers than for > >> >> > TCP. > >> >> > This could be improved in future releases. The cause for UDP > >> >> > performance > >> >> > penalty is: > >> >> > > >> >> > python uses much smaller buffers in sendto() function, and > >> >> > UDP-flow control is implemented on events which are timer > triggered; > >> >> > >> >> I think this is not that big of a deal. Since this test is primarily > >> >> about vlans and not performance, the absolute number isn't really > that > >> >> important. This is particularly true with UDP where for a given size > >> >> I would expect it to either work or not. > >> >> > >> >> UDP also almost always has lower performance than TCP anyways because > >> >> there are fewer offloads. > >> >> > >> >> I see that you still have a fixed set of sizes to try for UDP > packets, > >> >> did you look into detecting the MTU? > >> > > >> > Yes, the correct way to do this is to use SIOCGIFMTU on the interface > >> > which > >> > will be used by UDP sender socket (Although this is not POSIX > >> > standardized). > >> > > >> > But, I still somehow must be able to figure out which interface will > be > >> > actually used > >> > by the UDP sender socket. I can make an assumption here by simply > using > >> > the > >> > Test IP address which user specified when he started ovs-test client. > In > >> > my > >> > opinion > >> > this should work most of the time. > >> > >> You mean via a routing table lookup through ip or route? I agree that > >> that is good enough for a test tool. > > > > I meant to use ioctl() calls from Python: > > > > SIOCGIFCONF to get mapping from IP addresses to interfaces; and then > > SIOCGIFMTU to get MTU for a particular interface. > > > > The only thing is that I must be careful to interpret ioctl() output in a > > platform dependent way. > > SIOCGIFCONF just gives you the addresses associated with an interface. > If you want to know the interface associated with a destination > address, you'll need to do a routing table lookup since the exact > address won't be on any of the local devices. > That was the assumption I was talking about previously: * But, I still somehow must be able to figure out which interface will be actually used by the UDP sender socket. I can make an assumption here by simply using the Test IP address which user specified when he started ovs-test client. In my opinion this should work most of the time.* This approach has drawback that it will not work if both ovs-test servers will have their test IPs in different subnets and their traffic will be routed by using different interface than we originally intended to test. Anyway, if we find the actual interface by consulting the routing table even then there is no guarantee that this is going to be interface we originally intended to test. So we are back to the original problem where the user of this script must make sure that routing is correct on test box. The best thing that this script could do is throw a warning in case if traffic is going to be routed through different interface than we originally planned to test.
_______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
