mirror of
https://github.com/ipxe/ipxe
synced 2025-12-17 18:11:49 +03:00
[netdevice] Allow link layer to report broadcast/multicast packets via pull()
Allow the link layer to directly report whether or not a packet is multicast or broadcast at the time of calling pull(), rather than relying on heuristics to determine this at a later stage. Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -658,6 +658,7 @@ efi_snp_receive ( EFI_SIMPLE_NETWORK_PROTOCOL *snp,
|
||||
const void *iob_ll_dest;
|
||||
const void *iob_ll_src;
|
||||
uint16_t iob_net_proto;
|
||||
unsigned int iob_flags;
|
||||
int rc;
|
||||
EFI_STATUS efirc;
|
||||
|
||||
@@ -682,7 +683,8 @@ efi_snp_receive ( EFI_SIMPLE_NETWORK_PROTOCOL *snp,
|
||||
|
||||
/* Attempt to decode link-layer header */
|
||||
if ( ( rc = ll_protocol->pull ( snpdev->netdev, iobuf, &iob_ll_dest,
|
||||
&iob_ll_src, &iob_net_proto ) ) != 0 ){
|
||||
&iob_ll_src, &iob_net_proto,
|
||||
&iob_flags ) ) != 0 ) {
|
||||
DBGC ( snpdev, "SNPDEV %p could not parse header: %s\n",
|
||||
snpdev, strerror ( rc ) );
|
||||
efirc = RC_TO_EFIRC ( rc );
|
||||
|
||||
Reference in New Issue
Block a user