summaryrefslogtreecommitdiffstats
path: root/sys/netinet/tcp_offload.c
diff options
context:
space:
mode:
authorkmacy <kmacy@FreeBSD.org>2008-09-01 05:30:22 +0000
committerkmacy <kmacy@FreeBSD.org>2008-09-01 05:30:22 +0000
commit4f7f14505ade23cf1713dac8e039845e724b1326 (patch)
treeeefb65d571361cd61f7d7314918fa03fac1bdbea /sys/netinet/tcp_offload.c
parent3b54160eff6a09b2ad56d8119df4b6f086da7ca0 (diff)
downloadFreeBSD-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.c7
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
OpenPOWER on IntegriCloud