diff options
author | Simon Rettberg | 2023-10-06 18:37:21 +0200 |
---|---|---|
committer | Simon Rettberg | 2023-10-06 18:37:21 +0200 |
commit | 95a57769874a70456670984debc05084feb75f6b (patch) | |
tree | 9943c86b682e1b1d21a0439637b3849840a50137 /src/include/ipxe/eapol.h | |
parent | [efi] Remove old RDRAND hack; now officially supported (diff) | |
parent | [libc] Use wall clock time as seed for the (non-cryptographic) RNG (diff) | |
download | ipxe-95a57769874a70456670984debc05084feb75f6b.tar.gz ipxe-95a57769874a70456670984debc05084feb75f6b.tar.xz ipxe-95a57769874a70456670984debc05084feb75f6b.zip |
Merge branch 'master' into openslx
Diffstat (limited to 'src/include/ipxe/eapol.h')
-rw-r--r-- | src/include/ipxe/eapol.h | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/src/include/ipxe/eapol.h b/src/include/ipxe/eapol.h index 952d6c75..d4ea3920 100644 --- a/src/include/ipxe/eapol.h +++ b/src/include/ipxe/eapol.h @@ -12,6 +12,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); #include <stdint.h> #include <ipxe/netdevice.h> #include <ipxe/tables.h> +#include <ipxe/eap.h> /** EAPoL header */ struct eapol_header { @@ -29,9 +30,23 @@ struct eapol_header { /** EAPoL-encapsulated EAP packets */ #define EAPOL_TYPE_EAP 0 +/** EAPoL start */ +#define EAPOL_TYPE_START 1 + /** EAPoL key */ #define EAPOL_TYPE_KEY 5 +/** An EAPoL supplicant */ +struct eapol_supplicant { + /** EAP supplicant */ + struct eap_supplicant eap; + /** EAPoL-Start retransmission timer */ + struct retry_timer timer; +}; + +/** Delay between EAPoL-Start packets */ +#define EAPOL_START_INTERVAL ( 2 * TICKS_PER_SEC ) + /** An EAPoL handler */ struct eapol_handler { /** Type */ @@ -39,15 +54,15 @@ struct eapol_handler { /** * Process received packet * + * @v supplicant EAPoL supplicant * @v iobuf I/O buffer - * @v netdev Network device * @v ll_source Link-layer source address * @ret rc Return status code * * This method takes ownership of the I/O buffer. */ - int ( * rx ) ( struct io_buffer *iobuf, struct net_device *netdev, - const void *ll_source ); + int ( * rx ) ( struct eapol_supplicant *supplicant, + struct io_buffer *iobuf, const void *ll_source ); }; /** EAPoL handler table */ |