On 18/04/14 02:42, Jarno Rajahalme wrote:
On Apr 17, 2014, at 11:26 AM, Zoltan Kiss <[email protected]> wrote:
On 16/04/14 18:00, Justin Pettit wrote:
On April 16, 2014 at 9:00:15 AM, Zoltan Kiss ([email protected]) wrote:
My actual problem is that an important rule gets deleted:
cookie=0x0, duration=1581.083s, table=0, n_packets=52804,
n_bytes=88968151, idle_age=0, priority=0,in_port=ANY actions=NORMAL
...
There is no sign the controller did anything about deleting those rules,
but somehow it still happened. Does anyone knows
Unfortunately it is hard to reproduce the problem, it is only
intermittent in one of our testcases.
I'm not sure that it's related, but it sounds similar to bug NIC-512 that I
filed with Citrix over a year ago. Here's the relevant part:
Many thanks Justin it was this problem indeed! Now I poked the right people to
fix this quite forgotten problem!
I did commit a change that should lessen the impact:
http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=05dddba
Yes, this would solve the problem, but this patch removed it on the assumption
that ofputil_port_from_string() solved it anyway:
http://git.openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=33ab38d9
But it doesn't, in fact it does some pretty mad conversions:
- ofputil_port_from_string pass a uint32_t* to str_to_uint
- it is casted to an int*, which is fortunately 32 bit in most places, but it
is a dangerous assumption
- the string is converted to a 'long long' and then copied into that int*
- so if the string was "-1", the value of port32 will be 0xFFFFFFFF
I think the best place to catch this problem would be to check in str_to_uint()
if the returned '(int *) u' is a negative number, and return false in that
case. What do you think?
It seems that the check for the minus sign needs to be done in
ofputil_port_from_string(). The check for negative return values from
str_to_uint() would not work as the special port numbers for OpenFlow 1.1+ are
in that “negative” range.
I just posted this patch, could you verify it solves your problem:
http://openvswitch.org/pipermail/dev/2014-April/039070.html
Yes, it seems it solves the problem, but I haven't tested it yet. And
that conversion madness is still a potential problem source. I'll send a
patch shortly to propose a fix for it.
Zoli
Jarno
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev