Why not the less confusing:
if (br->auto_cnt || br_auto_port(p))
and reverse the then/else lines?
I'm respecting the original style, but I'm not particular about this style.
I'll make less confusing one, thanks :)
(Your suggested condition is not exactly the same as current one, even
if reversing if/else. v2 will be different than it. Anyway, thanks.)
Toshiaki Makita
Why not the less confusing:
if (br->auto_cnt || br_auto_port(p))
and reverse the then/else lines?
I'm respecting the original style, but I'm not particular about this style.
I'll make less confusing one, thanks :)
(Your suggested condition is not exactly the same as current one, even
if reversing if/else. v2 will be different than it. Anyway, thanks.)
A quick truth table:
auto_cnt auto_port set/clear
0 0 clear
0 1 clear
1 0 set
1 1 clear
2+ 0/1 clear
So you want:
if (br->auto_cnt && !br_auto_port(p))
br_port_set_promisc(p);
else
br_port_clear_promisc(p);
Does seem like a strange condition.
David
Why not the less confusing:
if (br->auto_cnt || br_auto_port(p))
and reverse the then/else lines?
I'm respecting the original style, but I'm not particular about this style.
I'll make less confusing one, thanks :)
(Your suggested condition is not exactly the same as current one, even
if reversing if/else. v2 will be different than it. Anyway, thanks.)
A quick truth table:
auto_cnt auto_port set/clear
0 0 clear
0 1 clear
1 0 set
1 1 clear
2+ 0/1 clear
The last line should be set.
Thanks,
Toshiaki Makita
So you want:
if (br->auto_cnt && !br_auto_port(p))
br_port_set_promisc(p);
else
br_port_clear_promisc(p);
Does seem like a strange condition.
David
From: David Laight <hidden> Date: 2014-06-05 13:47:59
From: Toshiaki Makita
quoted
A quick truth table:
auto_cnt auto_port set/clear
0 0 clear
0 1 clear
1 0 set
1 1 clear
2+ 0/1 clear
The last line should be set.
I've clearly not drunk enough coffee today...
I suspect the 0-1 line is impossible.
Since the check is probably for 'any other ports in 'auto' mode'.
So:
if (auto_cnt - auto_port > 0)
(which is much the same as the original) is a good descriptive test.
David
Why not the less confusing:
if (br->auto_cnt || br_auto_port(p))
and reverse the then/else lines?
I'm respecting the original style, but I'm not particular about this style.
I'll make less confusing one, thanks :)
(Your suggested condition is not exactly the same as current one, even
if reversing if/else. v2 will be different than it. Anyway, thanks.)
A quick truth table:
auto_cnt auto_port set/clear
0 0 clear
0 1 clear
Can't happen
1 0 set
Can't happen
1 1 clear
2+ 0/1 clear
So you want:
if (br->auto_cnt && !br_auto_port(p))
br_port_set_promisc(p);
else
br_port_clear_promisc(p);
Some versions of the series that added this had
an explicit check for count. Essentially, the
expanded condition is this:
if (count == 0)
clear
else if (count == 1 && auto_port(p))
clear
else
set
The suggestion was that we could use a boolean (0|1)
to check reduce the above to
if (count <= auto_port(p))
clear
else
set
Personally, I prefer the extended version since it
is much clearer and is easy to understand.
-vlad
Does seem like a strange condition.
David
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html