[Bridge] [PATCH] bridge: control carrier based on ports online
Nicolas de Pesloüan
nicolas.2p.debian at gmail.com
Mon Mar 7 13:51:32 PST 2011
Le 07/03/2011 22:44, Stephen Hemminger a écrit :
> On Mon, 07 Mar 2011 21:48:16 +0100
> Nicolas de Pesloüan<nicolas.2p.debian at gmail.com> wrote:
>
>> Le 07/03/2011 19:34, Stephen Hemminger a écrit :
[snip]
>>> list_for_each_entry(p,&br->port_list, list) {
>>> - if (p->state != BR_STATE_DISABLED) {
>>> - if (p->port_no == br->root_port) {
>>> - p->config_pending = 0;
>>> - p->topology_change_ack = 0;
>>> - br_make_forwarding(p);
>>> - } else if (br_is_designated_port(p)) {
>>> - del_timer(&p->message_age_timer);
>>> - br_make_forwarding(p);
>>> - } else {
>>> - p->config_pending = 0;
>>> - p->topology_change_ack = 0;
>>> - br_make_blocking(p);
>>> - }
>>> + if (p->state == BR_STATE_DISABLED)
>>> + continue;
>>> +
>>> + if (p->port_no == br->root_port) {
>>> + p->config_pending = 0;
>>> + p->topology_change_ack = 0;
>>> + br_make_forwarding(p);
>>> + } else if (br_is_designated_port(p)) {
>>> + del_timer(&p->message_age_timer);
>>> + br_make_forwarding(p);
>>> + } else {
>>> + p->config_pending = 0;
>>> + p->topology_change_ack = 0;
>>> + br_make_blocking(p);
>>
>> Is the above part really related to the purpose of this patch? It looks like (good) cleanup, but
>> should be in a different patch.
>>
>> Except from this comment,
>>
>> Reviewed-by: Nicolas de Pesloüan<nicolas.2p.debian at free.fr>
>
> The loop is going over the state of ports.
> Since the new code at the end of loop has to check for STATE_FORWARDING
> it is clearer with continue statement. When adding code it is always
> better to clarify the logic in the process rather than making it
> more complex.
Sound's good to me. Thanks for clarifying.
Nicolas.
More information about the Bridge
mailing list