diff options
author | andre <andre@FreeBSD.org> | 2006-09-06 21:51:59 +0000 |
---|---|---|
committer | andre <andre@FreeBSD.org> | 2006-09-06 21:51:59 +0000 |
commit | cb05913fd251edc3d35bcbeca73a8b681e2e58e8 (patch) | |
tree | b5d4180eab9fff2a64a310b178d7e69374bbdacf /sys/net/if.h | |
parent | 0dddb6a1cc063906ce418aa1a75805e68b4ec971 (diff) | |
download | FreeBSD-src-cb05913fd251edc3d35bcbeca73a8b681e2e58e8.zip FreeBSD-src-cb05913fd251edc3d35bcbeca73a8b681e2e58e8.tar.gz |
First step of TSO (TCP segmentation offload) support in our network stack.
o add IFCAP_TSO[46] for drivers to announce this capability for IPv4 and IPv6
o add CSUM_TSO flag to mbuf pkthdr csum_flags field
o add tso_segsz field to mbuf pkthdr
o enhance ip_output() packet length check to allow for large TSO packets
o extend tcp_maxmtu[46]() with a flag pointer to pass interface capabilities
o adjust all callers of tcp_maxmtu[46]() accordingly
Discussed on: -current, -net
Sponsored by: TCP/IP Optimization Fundraise 2005
Diffstat (limited to 'sys/net/if.h')
-rw-r--r-- | sys/net/if.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/net/if.h b/sys/net/if.h index b989890..cecb123 100644 --- a/sys/net/if.h +++ b/sys/net/if.h @@ -206,8 +206,11 @@ struct if_data { #define IFCAP_JUMBO_MTU 0x0020 /* 9000 byte MTU supported */ #define IFCAP_POLLING 0x0040 /* driver supports polling */ #define IFCAP_VLAN_HWCSUM 0x0080 /* can do IFCAP_HWCSUM on VLANs */ +#define IFCAP_TSO4 0x0100 /* can do TCP Segmentation Offload */ +#define IFCAP_TSO6 0x0200 /* can do TCP6 Segmentation Offload */ #define IFCAP_HWCSUM (IFCAP_RXCSUM | IFCAP_TXCSUM) +#define IFCAP_TSO (IFCAP_TSO4 | IFCAP_TSO6) #define IFQ_MAXLEN 50 #define IFNET_SLOWHZ 1 /* granularity is 1 second */ |