diff options
author | kmacy <kmacy@FreeBSD.org> | 2008-09-01 05:30:22 +0000 |
---|---|---|
committer | kmacy <kmacy@FreeBSD.org> | 2008-09-01 05:30:22 +0000 |
commit | 4f7f14505ade23cf1713dac8e039845e724b1326 (patch) | |
tree | eefb65d571361cd61f7d7314918fa03fac1bdbea /sys/netinet/tcp_offload.c | |
parent | 3b54160eff6a09b2ad56d8119df4b6f086da7ca0 (diff) | |
download | FreeBSD-src-4f7f14505ade23cf1713dac8e039845e724b1326.zip FreeBSD-src-4f7f14505ade23cf1713dac8e039845e724b1326.tar.gz |
Don't check if an interface can do tcp offload if there are no offload devices registered on the system.
Suggested by: rwatson
MFC after: 3 days
Diffstat (limited to 'sys/netinet/tcp_offload.c')
-rw-r--r-- | sys/netinet/tcp_offload.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/netinet/tcp_offload.c b/sys/netinet/tcp_offload.c index ec1fe23..604aab0 100644 --- a/sys/netinet/tcp_offload.c +++ b/sys/netinet/tcp_offload.c @@ -51,6 +51,8 @@ __FBSDID("$FreeBSD$"); #include <netinet/tcp_offload.h> #include <netinet/toedev.h> +uint32_t toedev_registration_count; + int tcp_offload_connect(struct socket *so, struct sockaddr *nam) { @@ -59,12 +61,15 @@ tcp_offload_connect(struct socket *so, struct sockaddr *nam) struct rtentry *rt; int error; + if (toedev_registration_count == 0) + return (EINVAL); + /* * Look up the route used for the connection to * determine if it uses an interface capable of * offloading the connection. */ - rt = rtalloc1(nam, 1 /*report*/, 0 /*ignflags*/); + rt = rtalloc1(nam, 0 /*report*/, 0 /*ignflags*/); if (rt) RT_UNLOCK(rt); else |