diff options
author | Michael Brown <mcb30@ipxe.org> | 2015-06-25 17:30:12 +0100 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2015-06-25 17:32:24 +0100 |
commit | 94dbfb43746445e91e775c498db89392313934c7 (patch) | |
tree | fea1073ca523bae58f967e04f285b37d46fa3013 /src/net | |
parent | fb28c4a97941c1ab21ee5eba725c69822f51aa1d (diff) | |
download | ipxe-94dbfb43746445e91e775c498db89392313934c7.zip ipxe-94dbfb43746445e91e775c498db89392313934c7.tar.gz ipxe-94dbfb43746445e91e775c498db89392313934c7.tar.bz2 |
[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>
Diffstat (limited to 'src/net')
-rw-r--r-- | src/net/stp.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/net/stp.c b/src/net/stp.c index cafb6b8..d4e65a1 100644 --- a/src/net/stp.c +++ b/src/net/stp.c @@ -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; } |