diff options
author | Michael Brown | 2008-10-15 03:00:44 +0200 |
---|---|---|
committer | Michael Brown | 2008-10-16 06:12:56 +0200 |
commit | 6b9cc2555688e716387c02ecfe4569d2a73a7208 (patch) | |
tree | 74e96e3ee8ad06e20fe550456033e42a52ae6baf /src/include | |
parent | [netdevice] Add maximum packet length as a net device property (diff) | |
download | ipxe-6b9cc2555688e716387c02ecfe4569d2a73a7208.tar.gz ipxe-6b9cc2555688e716387c02ecfe4569d2a73a7208.tar.xz ipxe-6b9cc2555688e716387c02ecfe4569d2a73a7208.zip |
[netdevice] Split multicast hashing out into an mc_hash method
Multicast hashing is an ugly overlap between network and link layers.
EFI requires us to provide access to this functionality, so move it
out of ipv4.c and expose it as a method of the link layer.
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/gpxe/netdevice.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/include/gpxe/netdevice.h b/src/include/gpxe/netdevice.h index 9f39e0c9..3109db83 100644 --- a/src/include/gpxe/netdevice.h +++ b/src/include/gpxe/netdevice.h @@ -120,6 +120,16 @@ struct ll_protocol { * allocated. */ const char * ( * ntoa ) ( const void * ll_addr ); + /** + * Hash multicast address + * + * @v af Address family + * @v net_addr Network-layer address + * @v ll_addr Link-layer address to fill in + * @ret rc Return status code + */ + int ( * mc_hash ) ( unsigned int af, const void *net_addr, + void *ll_addr ); /** Link-layer protocol * * This is an ARPHRD_XXX constant, in network byte order. |