diff options
| author | Michael Brown | 2008-10-15 01:49:59 +0200 |
|---|---|---|
| committer | Michael Brown | 2008-10-16 06:11:47 +0200 |
| commit | 832668105e22c42f965970078124cdc2c556ac0d (patch) | |
| tree | 67984083b52c5fd499f19d9fd9f82b834d03e55b /src/include | |
| parent | [efi] Fix linker script for ld 2.17.50.0.9 (diff) | |
| download | ipxe-832668105e22c42f965970078124cdc2c556ac0d.tar.gz ipxe-832668105e22c42f965970078124cdc2c556ac0d.tar.xz ipxe-832668105e22c42f965970078124cdc2c556ac0d.zip | |
[netdevice] Add maximum packet length as a net device property
Currently this length is set at device allocation time, and is never
changed.
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/gpxe/ethernet.h | 2 | ||||
| -rw-r--r-- | src/include/gpxe/ipoib.h | 4 | ||||
| -rw-r--r-- | src/include/gpxe/netdevice.h | 5 |
3 files changed, 11 insertions, 0 deletions
diff --git a/src/include/gpxe/ethernet.h b/src/include/gpxe/ethernet.h index 158fe066a..ff0fd6c11 100644 --- a/src/include/gpxe/ethernet.h +++ b/src/include/gpxe/ethernet.h @@ -9,6 +9,7 @@ #include <stdint.h> #include <gpxe/netdevice.h> +#include <gpxe/if_ether.h> extern struct ll_protocol ethernet_protocol; @@ -26,6 +27,7 @@ static inline struct net_device * alloc_etherdev ( size_t priv_size ) { netdev = alloc_netdev ( priv_size ); if ( netdev ) { netdev->ll_protocol = ðernet_protocol; + netdev->max_pkt_len = ETH_FRAME_LEN; } return netdev; } diff --git a/src/include/gpxe/ipoib.h b/src/include/gpxe/ipoib.h index bcbdc4c69..3ec464e39 100644 --- a/src/include/gpxe/ipoib.h +++ b/src/include/gpxe/ipoib.h @@ -8,6 +8,9 @@ #include <gpxe/infiniband.h> +/** IPoIB packet length */ +#define IPOIB_PKT_LEN 2048 + /** IPoIB MAC address length */ #define IPOIB_ALEN 20 @@ -68,6 +71,7 @@ static inline struct net_device * alloc_ipoibdev ( size_t priv_size ) { netdev = alloc_netdev ( priv_size ); if ( netdev ) { netdev->ll_protocol = &ipoib_protocol; + netdev->max_pkt_len = IPOIB_PKT_LEN; } return netdev; } diff --git a/src/include/gpxe/netdevice.h b/src/include/gpxe/netdevice.h index cdc8cbad4..9f39e0c91 100644 --- a/src/include/gpxe/netdevice.h +++ b/src/include/gpxe/netdevice.h @@ -241,6 +241,11 @@ struct net_device { * This is the bitwise-OR of zero or more NETDEV_XXX constants. */ unsigned int state; + /** Maximum packet length + * + * This length includes any link-layer headers. + */ + size_t max_pkt_len; /** TX packet queue */ struct list_head tx_queue; /** RX packet queue */ |
