[Bridge] Invalid BPDU transmission?

Rodolfo Giometti giometti at enneenne.com
Tue Oct 5 02:54:58 PDT 2010


Hello,

in function STP_transmit_check_conditions (rstplib/transmit.c) the
case:

    case IDLE:
      if (!port->helloWhen) return STP_hop_2_state (this,
      TRANSMIT_PERIODIC);
      if (!port->sendRSTP && port->newInfo &&
          (port->txCount < TxHoldCount) &&
          (port->role == DesignatedPort) &&
          port->helloWhen)
        return STP_hop_2_state (this, TRANSMIT_CONFIG);
      if (!port->sendRSTP && port->newInfo &&
          (port->txCount < TxHoldCount) &&
          (port->role == RootPort) &&
          port->helloWhen)
        return STP_hop_2_state (this, TRANSMIT_TCN);
      if (port->sendRSTP && port->newInfo &&
          (port->txCount < TxHoldCount) &&
          ((port->role == RootPort) ||         <----
           (port->role == DesignatedPort)))
        return STP_hop_2_state (this, TRANSMIT_RSTP);
      break;

states that a RSTP bpdu can be transmitted even throught a RootPort
which, IMHO, is not correct... only topology change BPDU should be
sent over the RootPort. That's why I suggest to remove the line with
the arrow (<----).

Comments? :)

Ciao,

Rodolfo

-- 

GNU/Linux Solutions                  e-mail: giometti at enneenne.com
Linux Device Driver                          giometti at linux.it
Embedded Systems                     phone:  +39 349 2432127
UNIX programming                     skype:  rodolfo.giometti
Freelance ICT Italia - Consulente ICT Italia - www.consulenti-ict.it


More information about the Bridge mailing list