mirror of
https://github.com/ipxe/ipxe
synced 2025-12-11 22:11:08 +03:00
[stp] Fix interpretaton of hello time
Times in STP packets are expressed in units of 1/256 of a second. Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -65,7 +65,7 @@ static int stp_rx ( struct io_buffer *iobuf, struct net_device *netdev,
|
||||
const void *ll_source __unused,
|
||||
unsigned int flags __unused ) {
|
||||
struct stp_bpdu *stp;
|
||||
unsigned int timeout;
|
||||
unsigned int hello;
|
||||
int rc;
|
||||
|
||||
/* Sanity check */
|
||||
@@ -110,8 +110,8 @@ static int stp_rx ( struct io_buffer *iobuf, struct net_device *netdev,
|
||||
"forwarding\n",
|
||||
netdev->name, eth_ntoa ( stp->sender.mac ),
|
||||
ntohs ( stp->port ), stp->flags );
|
||||
timeout = ( ntohs ( stp->hello ) * TICKS_PER_SEC * 2 );
|
||||
netdev_link_block ( netdev, timeout );
|
||||
hello = ( ( ntohs ( stp->hello ) * TICKS_PER_SEC ) / 256 );
|
||||
netdev_link_block ( netdev, ( hello * 2 ) );
|
||||
rc = -ENETUNREACH;
|
||||
goto done;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user