From nobody@FreeBSD.org  Wed Oct 17 12:47:00 2007
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id A881816A421
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 17 Oct 2007 12:47:00 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id 8EE7E13C4AA
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 17 Oct 2007 12:47:00 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.1/8.14.1) with ESMTP id l9HCklXR024692
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 17 Oct 2007 12:46:47 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.1/8.14.1/Submit) id l9HCkljc024691;
	Wed, 17 Oct 2007 12:46:47 GMT
	(envelope-from nobody)
Message-Id: <200710171246.l9HCkljc024691@www.freebsd.org>
Date: Wed, 17 Oct 2007 12:46:47 GMT
From: Emile Coetzee <emilec@clarotech.co.za>
To: freebsd-gnats-submit@FreeBSD.org
Subject: OpenVPN TAP uses 99% CPU on releng_6 when if_tap is in /boot/loader.conf
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         117271
>Category:       kern
>Synopsis:       [tap] OpenVPN TAP uses 99% CPU on releng_6 when if_tap is in /boot/loader.conf
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-net
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Oct 17 12:50:01 UTC 2007
>Closed-Date:    Wed Sep 26 12:53:21 UTC 2012
>Last-Modified:  Wed Sep 26 12:53:21 UTC 2012
>Originator:     Emile Coetzee
>Release:        RELENG_6
>Organization:
Clarotech Consulting
>Environment:
FreeBSD x 6.2-STABLE FreeBSD 6.2-STABLE #36: Thu Oct 11 02:46:55 SAST 2007     root@x:/usr/obj/usr/src/sys/X  i386
>Description:
Tracking RELENG_6 with if_tap_load="YES" in /boot/loader.conf. When you
start openvpn (/usr/local/sbin/openvpn --cd /usr/local/etc/openvpn --config
/usr/local/etc/openvpn/tapsvr.conf) top will list openvpn on 99% CPU usage
and the system will become non-responsive.

If you remove if_tap_load="YES" from /boot/loader.conf boot the system,
run kldload if_tap and start openvpn, the problem does not occur.
Compiling tap into the kernel as a pseudo device works correctly as well.

If I track RELENG_6_2 I can load if_tap from loader.conf and start openvpn
tap service without experiencing any high CPU usage problems as decribed
above. 

So it would seem there is a difference loading the tap device at boot
time using loader.conf than loading it from the command line or as part
of the kernel in RELENG_6

I first reported this on the mailing lists in March 2007. At that time
I did notice some very recent changes for if_tap in the source tree which
might be the cause of the problem. 

http://unix.derkeiler.com/Mailing-Lists/FreeBSD/stable/2007-03/msg00445.html 
>How-To-Repeat:
Track RELENG_6
Install openvpn from ports (/usr/ports/security/openvpn)
Configure a VPN server using the tap device (the defaults will do).
set if_tap_load="YES" in /boot/loader.conf
start openvpn: /usr/local/sbin/openvpn --cd /usr/local/etc/openvpn --config /usr/local/etc/openvpn/tapsvr.conf
>Fix:
The workaround is to remove if_tap from loader.conf and load it after
boot time or compile it into the kernel.

>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->freebsd-net 
Responsible-Changed-By: linimon 
Responsible-Changed-When: Mon Oct 29 10:11:54 UTC 2007 
Responsible-Changed-Why:  
Over to maintainer(s). 

http://www.freebsd.org/cgi/query-pr.cgi?pr=117271 

From: "Matthew X. Economou" <xenophon@irtnog.org>
To: <bug-followup@FreeBSD.org>,
	<emilec@clarotech.co.za>
Cc:  
Subject: Re: kern/117271: [tap] OpenVPN TAP uses 99% CPU on releng_6 when if_tap is in /boot/loader.conf
Date: Mon, 21 Jan 2008 12:17:23 -0500

 This is a multi-part message in MIME format.
 
 ------=_NextPart_000_0023_01C85C27.93B17660
 Content-Type: text/plain;
 	charset="us-ascii"
 Content-Transfer-Encoding: 7bit
 
 I can confirm this problem (GENERIC kernel on RELENG_6_3, i.e.,
 6.3-RELEASE).  I also found that if I boot with if_tap loaded at boot
 time by /boot/loader.conf, I can unload and reload the tap driver
 (kldunload if_tap; kldload if_tap) and then start OpenVPN without any
 problems.
 
 ------=_NextPart_000_0023_01C85C27.93B17660
 Content-Type: application/x-pkcs7-signature;
 	name="smime.p7s"
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment;
 	filename="smime.p7s"
 
 MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIOszCCBwgw
 ggXwoAMCAQICChYAlZkAAQAAAHAwDQYJKoZIhvcNAQEFBQAwUTETMBEGCgmSJomT8ixkARkWA29y
 ZzEWMBQGCgmSJomT8ixkARkWBmlydG5vZzEiMCAGA1UEAxMZSVJUTk9HLk9SRyBSb290IEF1dGhv
 cml0eTAeFw0wNzA5MjUxODM3NDRaFw0wODA5MjQxODM3NDRaMIGnMRMwEQYKCZImiZPyLGQBGRYD
 b3JnMRYwFAYKCZImiZPyLGQBGRYGaXJ0bm9nMRMwEQYDVQQLEwpNeUJ1c2luZXNzMQ4wDAYDVQQL
 EwVVc2VyczERMA8GA1UECxMIU0JTVXNlcnMxHDAaBgNVBAMTE01hdHRoZXcgWC4gRWNvbm9tb3Ux
 IjAgBgkqhkiG9w0BCQEWE3hlbm9waG9uQGlydG5vZy5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0A
 MIGJAoGBAMghkqwkEd0cuBSeyjc0ouYCJlNi72KT1uajTByyuVfckGqtdXFVlhoJF1MzjnqpUw8A
 6pk2EUIoZr9CK3t3gtfCyg5CD/2Mzc/7bgC46TXSGQ6qFEi/HtOgbXcIkVOqLTSv3hTh8rhfK5bL
 2o13CWiHyjmxBkD1Pdka2YvueZdBAgMBAAGjggQNMIIECTALBgNVHQ8EBAMCBaAwNgYJKoZIhvcN
 AQkPBCkwJzANBggqhkiG9w0DAgIBODANBggqhkiG9w0DBAIBODAHBgUrDgMCBzAdBgNVHQ4EFgQU
 c5u8UU6hQsExMvkmjVLGAHKQWlswFwYJKwYBBAGCNxQCBAoeCABVAHMAZQByMB8GA1UdIwQYMBaA
 FCpIoZ65QNVXdsdF7FIYwfB61Ve+MIIBZQYDVR0fBIIBXDCCAVgwggFUoIIBUKCCAUyGgbtsZGFw
 Oi8vQ049SVJUTk9HLk9SRyBSb290IEF1dGhvcml0eSgxKSxDTj1zdnIxLENOPUNEUCxDTj1QdWJs
 aWMgS2V5IFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9aXJ0bm9nLERD
 PW9yZy8/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3Ry
 aWJ1dGlvblBvaW50hkZodHRwOi8vc3ZyMS5pcnRub2cub3JnL0NlcnRFbnJvbGwvSVJUTk9HLk9S
 RyUyMFJvb3QlMjBBdXRob3JpdHkoMSkuY3JshkRmaWxlOi8vXFxzdnIxLmlydG5vZy5vcmcvQ2Vy
 dEVucm9sbC9JUlROT0cuT1JHIFJvb3QgQXV0aG9yaXR5KDEpLmNybDCCAY4GCCsGAQUFBwEBBIIB
 gDCCAXwwgbMGCCsGAQUFBzABhoGmbGRhcDovL0NOPUlSVE5PRy5PUkcgUm9vdCBBdXRob3JpdHks
 Q049QUlBLENOPVB1YmxpYyBLZXkgU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlv
 bixEQz1pcnRub2csREM9b3JnLz9jQUNlcnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlm
 aWNhdGlvbkF1dGhvcml0eTBiBggrBgEFBQcwAYZWaHR0cDovL3N2cjEuaXJ0bm9nLm9yZy9DZXJ0
 RW5yb2xsL3N2cjEuaXJ0bm9nLm9yZ19JUlROT0cuT1JHJTIwUm9vdCUyMEF1dGhvcml0eSgxKS5j
 cnQwYAYIKwYBBQUHMAGGVGZpbGU6Ly9cXHN2cjEuaXJ0bm9nLm9yZy9DZXJ0RW5yb2xsL3N2cjEu
 aXJ0bm9nLm9yZ19JUlROT0cuT1JHIFJvb3QgQXV0aG9yaXR5KDEpLmNydDApBgNVHSUEIjAgBgor
 BgEEAYI3CgMEBggrBgEFBQcDBAYIKwYBBQUHAwIwQwYDVR0RBDwwOqAjBgorBgEEAYI3FAIDoBUM
 E3hlbm9waG9uQGlydG5vZy5vcmeBE3hlbm9waG9uQGlydG5vZy5vcmcwDQYJKoZIhvcNAQEFBQAD
 ggEBAHDOxYgKLkgD8xjxzDZVbc30p8sM7sNjaST4/KBVaEaMo7Wv+sMy+/Q5+OaXGwXVglof3CMR
 FH0KEi2vTwdrt4wmiSacygfqnlDdgBI1Yw+eqXzSGGcNYHRrtKMn+UN837BiBby+U6i4k/WwlmZv
 v3xQawDd17sZ0zf8Xlye++s2+FMEtlZa4SLoiA1NJEiVS+RE8mh/6Yr4CBqoMEHV+zOciqHIVdVf
 dvOaRuOFtnv1+bx7oiPwuCqC/uNrJi2FAkGjbYVLei1X3x4RX7ASl5d8DaKkbmozgGDpEI7W07aH
 OwvrJLQFLYq0Mhibro4vv+L1aXvpGAVcFWouNTKbK+EwggejMIIGi6ADAgECAhBluZdHFVh8oEzX
 i+HMf5M7MA0GCSqGSIb3DQEBBQUAMFExEzARBgoJkiaJk/IsZAEZFgNvcmcxFjAUBgoJkiaJk/Is
 ZAEZFgZpcnRub2cxIjAgBgNVBAMTGUlSVE5PRy5PUkcgUm9vdCBBdXRob3JpdHkwHhcNMDUwMzAz
 MTQzODM3WhcNMTAwMzAzMTQ0ODM3WjBRMRMwEQYKCZImiZPyLGQBGRYDb3JnMRYwFAYKCZImiZPy
 LGQBGRYGaXJ0bm9nMSIwIAYDVQQDExlJUlROT0cuT1JHIFJvb3QgQXV0aG9yaXR5MIIBIjANBgkq
 hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyE4xTXFne6/D+ArV8QDbzimf/S0TPsDCr6FNTiBVUmEN
 SpNeLGB/O95wiTeybNh5WhPB+6x4DKK69TGfcL2UgIu0KNGQo0Ygby/A6kKtn6nrDwNjqiYk//IW
 pdS2C48hlOX2NBXhHHp3Uc8fALWl8MXR3uAeCHjeAMYJ7O1+r6pw2OEtHdxZcdP9qLqtIhNrHEiJ
 IMJMZwBuDo0taIGnk5tfIWHaj77zxrwb3bgTw42jnaUqP9HfKnTsS9ULU9yo5XNPKU2sJtzubjW+
 bmKQVI+s1uht32cex6OeclUDt2TzME9tvBU3RJhUuEuO1diprUkdsNg4JcyUfIa96drN6wIDAQAB
 o4IEdTCCBHEwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMB
 Af8wHQYDVR0OBBYEFCpIoZ65QNVXdsdF7FIYwfB61Ve+MIIByQYDVR0fBIIBwDCCAbwwggG4oIIB
 tKCCAbCGZmZpbGU6Ly9DOlxXSU5ET1dTXHN5c3RlbTMyXENlcnRTcnZcQ2VydEVucm9sbFwlM0ND
 YU5hbWUlM0UlM0NDUkxOYW1lU3VmZml4JTNFJTNDRGVsdGFDUkxBbGxvd2VkJTNFLmNybIaBk2xk
 YXA6Ly9DTj08Q0FUcnVuY2F0ZWROYW1lPjxDUkxOYW1lU3VmZml4PixDTj08U2VydmVyU2hvcnRO
 YW1lPixDTj1DRFAsQ049UHVibGljIEtleSBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyw8Q29uZmlndXJh
 dGlvbkNvbnRhaW5lcj48Q0RQT2JqZWN0Q2xhc3M+L4ZeaHR0cDovLyUzQ3NlcnZlcmRuc25hbWUl
 M0UvQ2VydEVucm9sbC8lM0NDYU5hbWUlM0UlM0NDUkxOYW1lU3VmZml4JTNFJTNDRGVsdGFDUkxB
 bGxvd2VkJTNFLmNybIZQZmlsZTovL1xcPFNlcnZlckROU05hbWU+L0NlcnRFbnJvbGwvPENhTmFt
 ZT48Q1JMTmFtZVN1ZmZpeD48RGVsdGFDUkxBbGxvd2VkPi5jcmwwEgYJKwYBBAGCNxUBBAUCAwEA
 ATBEBgNVHSAEPTA7MDkGCSsGAQQB0WQAATAsMCoGCCsGAQUFBwIBFh5odHRwOi8vd2ViLmlydG5v
 Zy5vcmcvbGVnYWwvY2EwggHPBggrBgEFBQcBAQSCAcEwggG9MHMGCCsGAQUFBzAChmdmaWxlOi8v
 QzpcV0lORE9XU1xzeXN0ZW0zMlxDZXJ0U3J2XENlcnRFbnJvbGxcJTNDU2VydmVyRE5TTmFtZSUz
 RV8lM0NDYU5hbWUlM0UlM0NDZXJ0aWZpY2F0ZU5hbWUlM0UuY3J0MHoGCCsGAQUFBzAChm5sZGFw
 Oi8vQ049PENBVHJ1bmNhdGVkTmFtZT4sQ049QUlBLENOPVB1YmxpYyBLZXkgU2VydmljZXMsQ049
 U2VydmljZXMsPENvbmZpZ3VyYXRpb25Db250YWluZXI+PENBT2JqZWN0Q2xhc3M+LzBrBggrBgEF
 BQcwAoZfaHR0cDovLyUzQ3NlcnZlcmRuc25hbWUlM0UvQ2VydEVucm9sbC8lM0NTZXJ2ZXJETlNO
 YW1lJTNFXyUzQ0NhTmFtZSUzRSUzQ0NlcnRpZmljYXRlTmFtZSUzRS5jcnQwXQYIKwYBBQUHMAKG
 UWZpbGU6Ly9cXDxTZXJ2ZXJETlNOYW1lPi9DZXJ0RW5yb2xsLzxTZXJ2ZXJETlNOYW1lPl88Q2FO
 YW1lPjxDZXJ0aWZpY2F0ZU5hbWU+LmNydDAjBgkrBgEEAYI3FQIEFgQUVTgfUfp1gLMYngiR0CwR
 zTjx/g0wDQYJKoZIhvcNAQEFBQADggEBAHlQMSPOE1jl+qYYh6lKOr9v6JvZSDnTGpBEDJItlgwJ
 NmPZHRXt4KjqgMQZ86rvHeVXeu8L7H+g1SegHQo1vTElzUtQ6NDpO6u3Wuhib5IHivtAOSoCWi39
 wsqrmn8mnAGxaBqNv7b616upZa3e4O+HFq2p+1+Te3+y7YY9qtUEdinxD+IxKzC7sNfW8cedVokJ
 EXkazM2g367Wr96aGM/4zNRoeObPbRFRJuPIU9avo4TDji+Tlpw6xXwRnobtyZQD+NKi3NS/NoP1
 GSxFcdpt8hwnLNbixgWT0mIlC9VOkZyE1YjpY2iWQPBEIJ4mnxMiaMtoJTX9Uyb3mzxD+PwxggKx
 MIICrQIBATBfMFExEzARBgoJkiaJk/IsZAEZFgNvcmcxFjAUBgoJkiaJk/IsZAEZFgZpcnRub2cx
 IjAgBgNVBAMTGUlSVE5PRy5PUkcgUm9vdCBBdXRob3JpdHkCChYAlZkAAQAAAHAwCQYFKw4DAhoF
 AKCCAagwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDgwMTIxMTcx
 NzIzWjAjBgkqhkiG9w0BCQQxFgQUqhASb0qjcmdPC+BLyKPLdIplYgcwZwYJKoZIhvcNAQkPMVow
 WDAKBggqhkiG9w0DBzAOBggqhkiG9w0DAgICAIAwDQYIKoZIhvcNAwICAUAwBwYFKw4DAgcwDQYI
 KoZIhvcNAwICASgwBwYFKw4DAhowCgYIKoZIhvcNAgUwbgYJKwYBBAGCNxAEMWEwXzBRMRMwEQYK
 CZImiZPyLGQBGRYDb3JnMRYwFAYKCZImiZPyLGQBGRYGaXJ0bm9nMSIwIAYDVQQDExlJUlROT0cu
 T1JHIFJvb3QgQXV0aG9yaXR5AgoWAJWZAAEAAABwMHAGCyqGSIb3DQEJEAILMWGgXzBRMRMwEQYK
 CZImiZPyLGQBGRYDb3JnMRYwFAYKCZImiZPyLGQBGRYGaXJ0bm9nMSIwIAYDVQQDExlJUlROT0cu
 T1JHIFJvb3QgQXV0aG9yaXR5AgoWAJWZAAEAAABwMA0GCSqGSIb3DQEBAQUABIGAbHG6vr5ivvMb
 Qk1itZbyR+pKow03cG9pgk81aWBc4fXA/+lLHGOBB4l47JMIBnx6NpHhSpA4Vpy3NR8sJcHI4xfc
 cqaA7hBpJxDLekICXxDE8sE4w+h1hlHPOsQtb8GvdCEmAikjqaqSiu+Gypan/af7at4zlvQ6mMTs
 shZR6dsAAAAAAAA=
 
 ------=_NextPart_000_0023_01C85C27.93B17660--
State-Changed-From-To: open->feedback 
State-Changed-By: emaste 
State-Changed-When: Wed Sep 26 00:33:10 UTC 2012 
State-Changed-Why:  
Does this problem persist on current releases? 

I have if_tap loaded via loader.conf on stable/9 and HEAD machines and do 
not experience any problem (although I am using tap consumers other than 
OpenVPN). 


http://www.freebsd.org/cgi/query-pr.cgi?pr=117271 
State-Changed-From-To: feedback->open 
State-Changed-By: emaste 
State-Changed-When: Wed Sep 26 00:37:49 UTC 2012 
State-Changed-Why:  
Ahh, it's OpenVPN that consumed 100% CPU, so non-OpenVPN TAP consumers are 
likely not relevant. 


http://www.freebsd.org/cgi/query-pr.cgi?pr=117271 
State-Changed-From-To: open->closed 
State-Changed-By: emaste 
State-Changed-When: Wed Sep 26 12:52:36 UTC 2012 
State-Changed-Why:  
Submitter reports this works on stable/8. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=117271 
>Unformatted:
