I've got some problems with Open vSwitch on a little ARM-based machine (32 bit, little endian). I've tried to set it up exactly the same as I have on x86, but I'm getting somewhat different (and problematic) results.
The most significant problem is that the buffer IDs in OpenFlow messages seem to be coming out wrong. Specifically, in packet_in messages, they seem to be shifted by 16 bits (or two 16 bit words are swapped or something). I have to shift it back when I use it in a flow_mod or packet_out. I've attached a pcap capture showing a working packet_in/packet_out pair. Additionally, I get a lot of log messages of the forms: dpif|WARN|system@br0: failed to put[create][modify][zero] (Invalid argument) and dpif|WARN|system@br0: failed to flow_dump (Invalid argument) <empty> I've attached a snip of the syslog. I get similar results using both ovs-vswitchd and test-openflowd. The only screwy thing I can think of that I'm doing is using one compiler (x86 hosted) to build the Linux kernel and another compiler (ARM hosted) to build the OVS userspace tools. I have tried building the OVS kernel module with both compilers and get the same result either way. (The reason for this is that I really don't want to build Linux on this little device, and the OVS userspace tools all segfault when cross-compiled.) Could the two compilers be creating an alignment issue of some sort? Does anyone have any other ideas of what the problem might be, or how I might go about figuring it out? Thanks. -- Murphy
Oct 17 04:50:59 plug ovs-vswitchd: 00008|rconn|INFO|br0<->tcp:127.0.0.1: connecting... Oct 17 04:50:59 plug ovs-vswitchd: 00009|rconn|INFO|br0<->tcp:127.0.0.1: connected Oct 17 04:51:17 plug ovs-vswitchd: 00010|dpif|WARN|system@br0: failed to put[create][modify][zero] (Invalid argument) in_port(1),eth(src=42:a3:86:29:29:85,dst=cc:af:78:80:37:fa),eth_type(0x0800),ipv4(src=10.1.1.1,dst=10.1.1.194,proto=17,tos=0),udp(src=53,dst=49150), packets:0, bytes:0, used:never, actions:2 Oct 17 04:51:17 plug ovs-vswitchd: 00011|dpif|WARN|system@br0: failed to put[create][modify][zero] (Invalid argument) in_port(1),eth(src=42:a3:86:29:29:85,dst=cc:af:78:80:37:fa),eth_type(0x0800),ipv4(src=10.1.1.1,dst=10.1.1.194,proto=17,tos=0),udp(src=53,dst=49150), packets:0, bytes:0, used:never, actions:2 Oct 17 04:51:17 plug ovs-vswitchd: 00012|dpif|WARN|system@br0: failed to put[create][modify][zero] (Invalid argument) in_port(2),eth(src=cc:af:78:80:37:fa,dst=42:a3:86:29:29:85),eth_type(0x0800),ipv4(src=10.1.1.194,dst=140.211.15.34,proto=6,tos=0),tcp(src=49606,dst=80), packets:0, bytes:0, used:never, actions:1 Oct 17 04:51:17 plug ovs-vswitchd: 00013|dpif|WARN|system@br0: failed to put[create][modify][zero] (Invalid argument) in_port(2),eth(src=cc:af:78:80:37:fa,dst=42:a3:86:29:29:85),eth_type(0x0800),ipv4(src=10.1.1.194,dst=140.211.15.34,proto=6,tos=0),tcp(src=49606,dst=80), packets:0, bytes:0, used:never, actions:1 Oct 17 04:51:17 plug ovs-vswitchd: 00014|dpif|WARN|system@br0: failed to put[create][modify][zero] (Invalid argument) in_port(1),eth(src=42:a3:86:29:29:85,dst=cc:af:78:80:37:fa),eth_type(0x0800),ipv4(src=10.1.1.1,dst=10.1.1.194,proto=17,tos=0),udp(src=53,dst=49150), packets:0, bytes:0, used:never, actions:2 Oct 17 04:51:18 plug ovs-vswitchd: 00015|dpif|WARN|Dropped 5 log messages in last 1 seconds (most recently, 1 seconds ago) due to excessive rate Oct 17 04:51:18 plug ovs-vswitchd: 00016|dpif|WARN|system@br0: failed to flow_dump (Invalid argument) <empty> Oct 17 04:51:19 plug ovs-vswitchd: 00017|dpif|WARN|system@br0: failed to flow_dump (Invalid argument) <empty> Oct 17 04:51:20 plug ovs-vswitchd: 00018|dpif|WARN|system@br0: failed to flow_dump (Invalid argument) <empty> Oct 17 04:51:21 plug ovs-vswitchd: 00019|dpif|WARN|system@br0: failed to flow_dump (Invalid argument) <empty>
cap.pcap
Description: Binary data
_______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss