mirror of https://github.com/ipxe/ipxe.git
[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>pull/37/head
parent
fb28c4a979
commit
94dbfb4374
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue