Hi friend!
An offer indicates a port's willingness to become a designated forwarding port, while an agreement indicates immediate execution. After a new point-to-point link is added between two switches, the ports at both ends are initially in the specified drop state, which is the default role and state of the non-border port.
Any designated port in the discarding or learning state needs to send BPDUs with the offer bit set. Therefore, both switches attempt to exchange BPDUs with the offer bit set (or simply offer), assuming that they both have the right to be designated ports.
However, if one of the ports receiving the offer finds that the offer constitutes the optimal resulting BPDU received by that switch, the port's role changes from designated port to root (and remains in the discard state). Other ports on the switch are updated as well.
Further, if the switch receives an offer on the root port, it immediately sets all non-boundary designated ports to the discard state. This operation is called Sync. The asynchronous switch is isolated from the network to prevent any switching loops from passing through it: its root port is still in the drop state. (Even if it is in the forwarding state, the specified port of the neighbor is still in the discarding or learning state.) , its designated port is intentionally set to the discard state. It is now safe to move the new root port to the forwarding state and notify the upstream switch that the specified port can change from the forwarding or learning state to the forwarding state. This is achieved by sending BPDUs with the consent bit set (or simply consent) through the root port of the switch after performing synchronization. When the upstream switch receives a protocol BPDU on a specified drop port or a specified learning port, the upstream switch immediately changes the port to the forwarding state to complete the offer/agree on the exchange between the two switches.
Because all designated forwarding ports and designated learning ports send proposals, the offer/agree exchange process is actually moved from the "upper" switch to the "lower" switch (the root switch is the "top" of the spanning tree), resulting in the passing effect,
In a switched network, interruptions can be caused by a direct link failure (the switch loses the root port), an indirect link failure (the neighbor loses the root port), the addition of a new root link, or the change of the root switch. RSTP has a response mechanism to each event. When a direct link fails, RSTP changes the optimal replacement port to the new root port. If an indirect link fails, the suboptimal BPDUs from the specified switch is allowed to be received. Use the proposal/agree on a mechanism to respond to the addition of a new root link. The root switch is replaced by a combination of the preceding mechanisms.
During the offer/agree on exchange, all non-boundary designated ports are moved to the discard state (i.e., synchronous operation). If the engineer does not use the interface command spanning-tree portfast or the global command spanning-tree portfast default (both valid only for access ports) to explicitly configure end-host-facing ports as border ports, they will be set to the discard state during synchronization. Because the end host cannot send the RSTP protocol, these ports return to the forwarding state after two forwarding delay intervals, and the end host experiences a significant loss of connectivity. In RSTP, it is critical to configure the port facing the end host as the border port. Otherwise, the network performance may be worse than 802.1D STP.
Hope to help you!