[ncm] Support setting MAC address
Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
parent
5df081d6c0
commit
79443785cd
|
@ -453,6 +453,15 @@ static int ncm_open ( struct net_device *netdev ) {
|
|||
goto err_set_ntb_input_size;
|
||||
}
|
||||
|
||||
/* Set MAC address */
|
||||
if ( ( rc = usb_control ( usb, NCM_SET_NET_ADDRESS, 0,
|
||||
ncm->usbnet.comms, netdev->ll_addr,
|
||||
netdev->ll_protocol->ll_addr_len ) ) != 0 ) {
|
||||
DBGC ( ncm, "NCM %p could not set MAC address: %s\n",
|
||||
ncm, strerror ( rc ) );
|
||||
/* Ignore error and continue */
|
||||
}
|
||||
|
||||
/* Open USB network device */
|
||||
if ( ( rc = usbnet_open ( &ncm->usbnet ) ) != 0 ) {
|
||||
DBGC ( ncm, "NCM %p could not open: %s\n",
|
||||
|
|
|
@ -51,6 +51,11 @@ struct ncm_ntb_parameters {
|
|||
uint16_t max;
|
||||
} __attribute__ (( packed ));
|
||||
|
||||
/** Set MAC address */
|
||||
#define NCM_SET_NET_ADDRESS \
|
||||
( USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE | \
|
||||
USB_REQUEST_TYPE ( 0x82 ) )
|
||||
|
||||
/** Set NTB input size */
|
||||
#define NCM_SET_NTB_INPUT_SIZE \
|
||||
( USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE | \
|
||||
|
|
Reference in New Issue