From fb28c4a97941c1ab21ee5eba725c69822f51aa1d Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Thu, 25 Jun 2015 10:04:42 +0100 Subject: [stp] Add support for detecting Spanning Tree Protocol non-forwarding ports A fairly common end-user problem is that the default configuration of a switch may leave the port in a non-forwarding state for a substantial length of time (tens of seconds) after link up. This can cause iPXE to time out and give up attempting to boot. We cannot force the switch to start forwarding packets sooner, since any attempt to send a Spanning Tree Protocol bridge PDU may cause the switch to disable our port (if the switch happens to have the Bridge PDU Guard feature enabled for the port). For non-ancient versions of the Spanning Tree Protocol, we can detect whether or not the port is currently forwarding and use this to inform the network device core that the link is currently blocked. Signed-off-by: Michael Brown --- src/config/config_ethernet.c | 3 +++ src/config/general.h | 1 + 2 files changed, 4 insertions(+) (limited to 'src/config') diff --git a/src/config/config_ethernet.c b/src/config/config_ethernet.c index 372ec993..de7a07c5 100644 --- a/src/config/config_ethernet.c +++ b/src/config/config_ethernet.c @@ -40,3 +40,6 @@ REQUIRE_OBJECT ( aoe ); #ifdef NET_PROTO_FCOE REQUIRE_OBJECT ( fcoe ); #endif +#ifdef NET_PROTO_STP +REQUIRE_OBJECT ( stp ); +#endif diff --git a/src/config/general.h b/src/config/general.h index 7676f158..c8afc10a 100644 --- a/src/config/general.h +++ b/src/config/general.h @@ -37,6 +37,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); #define NET_PROTO_IPV4 /* IPv4 protocol */ #undef NET_PROTO_IPV6 /* IPv6 protocol */ #undef NET_PROTO_FCOE /* Fibre Channel over Ethernet protocol */ +#define NET_PROTO_STP /* Spanning Tree protocol */ /* * PXE support -- cgit v1.2.3-55-g7522