1.\" $OpenBSD: hostapd.conf.5,v 1.42 2013/09/03 20:44:01 jmc Exp $ 2.\" 3.\" Copyright (c) 2004, 2005, 2006 Reyk Floeter <reyk@openbsd.org> 4.\" 5.\" Permission to use, copy, modify, and distribute this software for any 6.\" purpose with or without fee is hereby granted, provided that the above 7.\" copyright notice and this permission notice appear in all copies. 8.\" 9.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16.\" 17.Dd $Mdocdate: September 3 2013 $ 18.Dt HOSTAPD.CONF 5 19.Os 20.Sh NAME 21.Nm hostapd.conf 22.Nd configuration file for the Host Access Point daemon 23.Sh DESCRIPTION 24.Nm 25is the configuration file for the 26.Xr hostapd 8 27daemon. 28.Sh SECTIONS 29The 30.Nm 31file is divided into four main sections. 32.Bl -tag -width xxxx 33.It Sy Macros 34User-defined variables may be defined and used later, simplifying the 35configuration file. 36.It Sy Tables 37Tables provide a mechanism to handle a large number of link layer 38addresses easily, with increased performance and flexibility. 39.It Sy Global Configuration 40Global runtime settings for 41.Xr hostapd 8 . 42.It Sy Event Rules 43Event rules provide a powerful mechanism to trigger certain actions 44when receiving specified IEEE 802.11 frames. 45.It Sy IP Roaming 46The concepts and details about the optional IP based roaming in 47.Xr hostapd 8 . 48.El 49.Pp 50The current line can be extended over multiple lines using a backslash 51.Pq Sq \e . 52Comments can be put anywhere in the file using a hash mark 53.Pq Sq # , 54and extend to the end of the current line. 55Care should be taken when commenting out multi-line text: 56the comment is effective until the end of the entire block. 57.Pp 58Argument names not beginning with a letter, digit, or underscore 59must be quoted. 60.Pp 61Additional configuration files can be included with the 62.Ic include 63keyword, for example: 64.Bd -literal -offset indent 65include "/etc/hostapd.conf.local" 66.Ed 67.Sh MACROS 68Macros can be defined that will later be expanded in context. 69Macro names must start with a letter, digit, or underscore, 70and may contain any of those characters. 71Macro names may not be reserved words (for example, 72.Ic set , 73.Ic interface , 74or 75.Ic hostap ) . 76Macros are not expanded inside quotes. 77.Pp 78For example: 79.Bd -literal -offset indent 80wlan="ath0" 81set iapp handle subtype { ! add notify, radiotap } 82set iapp interface $wlan 83.Ed 84.Sh TABLES 85Tables are named structures which can hold a collection of link layer 86addresses, masked address ranges, and link layer to IP address 87assignments. 88Lookups against tables in 89.Xr hostapd 8 90are relatively fast, making a single rule with tables much more 91efficient, in terms of processor usage and memory consumption, than a 92large number of rules which differ only in link layer addresses. 93.Pp 94Tables are used for 95.Xr hostapd 8 96.Em event rules 97to match specified IEEE 802.11 link layer addresses and address ranges, 98and the capability to assign link layer to IP addresses and an option netmask 99is a requirement for advanced IAPP functionality. 100.Pp 101Table options may be presented after the table name declaration. 102The following options are supported: 103.Bl -tag -width const 104.It Ic const 105The table is constant and cannot be later changed from its original 106definition. 107.El 108.Pp 109For example: 110.Bd -literal -offset indent 111cisco="00:40:06:ff:ff:ff & ff:ff:ff:00:00:00" 112 113table <black> { $cisco, 00:0d:60:ff:f1:2a } 114table <myess> const { 115 00:00:24:c3:40:18 -> 10.195.64.24, 116 00:00:24:c3:40:19 -> 10.195.64.25, 117 00:00:24:c3:40:1a -> 10.195.64.26 118} 119table <myclient> const { 120 00:05:4e:45:d4:b9 -> 172.23.5.1/30 121} 122.Ed 123.Sh GLOBAL CONFIGURATION 124The following configuration settings are understood: 125.Bl -tag -width Ds 126.It Xo 127.Ic set hostap interface 128.Ar interface \*(Ba\ \& 129.Pf { Ar interface0 , interface1 , ... No } 130.Xc 131Specify the wireless interface running in Host AP mode. 132This option could be omitted to use 133.Xr hostapd 8 134to log received IAPP messages. 135Multiple hostap interfaces may be specified 136as a comma-separated list, 137surrounded by curly braces. 138.It Ic set hostap mode Ar mode 139Specify the Host AP capture mode. 140The supported modes are: 141.Pp 142.Bl -tag -width radiotap -offset indent -compact 143.It Ic radiotap 144Capture IEEE 802.11 frames with additional radiotap headers. 145They will provide optional but useful information like received frame 146signal levels. 147.It Ic pcap 148Capture plain IEEE 802.11 frames. 149.El 150.It Xo 151.Ic set hostap hopper interface 152.Ar interface \*(Ba\ \& 153.Pf { Ar interface0 , interface1 , ... No } 154.Xc 155Enable a channel hopper on the selected wireless interface. 156Multiple hostap interfaces may be specified as a comma-separated list, 157surrounded by curly braces. 158.It Ic set hostap hopper delay Ar number 159Set the delay in milliseconds for the channel hopper before hopping to 160the next available channel. 161The default value is 800 milliseconds. 162.It Ic set iapp interface Ar interface 163Specify the mandatory Inter-Access-Point (IAPP) interface. 164It is important that the IAPP interface is on a trusted 165network because there is no authentication and an attacker could force 166disassociation of selected stations on all listening access points. 167.It Xo 168.Ic set iapp 169.Op Ic address \*(Ba\ route 170.Ic roaming table 171.Aq Ar table 172.Xc 173Specify a table used for 174.Em IP Roaming 175lookups of link layer address to IP address or subnet assignments. 176.It Xo 177.Ic set iapp handle subtype 178.Ar subtype \*(Ba\ \& 179.Pf { Ar subtype0 , subtype1 , ... No } 180.Xc 181Specify the IAPP subtypes to use: 182.Pp 183.Bl -tag -width broadcast -offset indent -compact 184.It Xo 185.Op Ic not 186.Ic add notify 187.Xc 188Send and receive 189.Em ADD.notify 190messages. 191This option is enabled by default. 192.It Xo 193.Op Ic not 194.Ic radiotap 195.Xc 196Receive 197.Em radiotap 198messages. 199This option is enabled by default. 200.It Xo 201.Op Ic not 202.Op Ic address \*(Ba\ route 203.Ic roaming 204.Xc 205Enable dynamic roaming of IP addresses or routes. 206These options are disabled by default. 207.El 208.It Ic set iapp mode Ar mode 209Specify the IAPP mode. 210The supported modes are: 211.Pp 212.Bl -tag -width broadcast -offset indent -compact 213.It Xo 214.Ic multicast 215.Op Ic address Ar ipv4addr 216.Op Ic port Ar number 217.Op Ic ttl Ar number 218.Xc 219Use 220.Xr multicast 4 221frames. 222A multicast time-to-live (TTL) of 2 or higher is required to allow 223multicast forwarding, for example for use with 224.Xr mrouted 8 . 225.It Xo 226.Ic broadcast 227.Op Ic port Ar number 228.Xc 229Use broadcast frames. 230.El 231.Pp 232The default is multicast using the multicast address 224.0.1.178 and 233port 3517 with a TTL limited to 1 hop. 234Some access point vendors still use broadcast with the pre-standard 235IAPP port 2313. 236.El 237.Sh EVENT RULES 238Event rules provide a powerful way to trigger a certain action when 239receiving specified IEEE 802.11 frames on the 240.Em hostap interface . 241The rules are handled in sequential order, from first to last. 242Rules are handled without a state: 243each rule is processed independently from the others and from 244any previous actions. 245This behaviour is somewhat different to that of packet filter rules 246specified in 247.Xr pf.conf 5 . 248.Pp 249All 250.Xr hostapd 8 251event rules are single line statements beginning with 252the mandatory 253.Ic hostap handle 254keywords and optional rule options, interface, frame matching, 255a specified action, a limit, and a minimal rate: 256.Bd -filled -offset indent 257.Ic hostap handle 258.Op Ar option 259.Op Ar interface 260.Op Ar frame 261.Op Ar action 262.Op Ar limit 263.Op Ar rate 264.Ed 265.Pp 266Some rule statements support the optional keyword 267.Ic not , 268also represented by the 269.Ic !\& 270operator, 271for inverse matching. 272.Pp 273The optional parts are defined below. 274.Ss Rule Option 275The rule 276.Ar option 277will modify the behaviour of handling the statement. 278There are two possible options, 279.Ic quick 280and 281.Ic skip . 282If either the keyword 283.Ic quick 284or the keyword 285.Ic skip 286is specified, no further event rules will be handled for this frame 287after processing this rule successfully. 288The keyword 289.Ic skip 290additionally skips any further IAPP processing of the frame, 291which is normally done after handling the event rules. 292.Ss Rule Interface 293The rule 294.Ar interface 295specifies the hostap interface the rule is matched on. 296The available interface list is specified by the global 297.Ic set hostap interface 298configuration setting. 299.Bd -filled -offset indent 300.Ic on 301.Op Ic not 302.Ar interface 303.Ed 304.Pp 305If not given, 306the event rule is matched on all available hostap interfaces. 307.Ss Rule Frame 308The 309.Ar frame 310description specifies a mechanism to match IEEE 802.11 frames. 311.Bl -tag -width Ds 312.It Ic any 313Match all frames. 314.It Xo 315.Ic frame 316.Op Ar type 317.Op Ar dir 318.Op Ar from 319.Op Ar to 320.Op Ar bssid 321.Op Ar radiotap 322.Xc 323Apply rules to frames matching the given parameters. 324The parameters are explained below. 325.Pp 326The 327.Ar type 328parameter specifies the frame type to match on. 329The frame type may be specified in the following ways: 330.Bl -tag -width Ds 331.It Ic type any 332Match all frame types. 333.It Xo 334.Ic type 335.Op Ic not 336.Ic data 337.Xc 338Match data frames. 339Presence of the 340.Ic not 341keyword negates the match and will match all non-data frames. 342.It Xo 343.Ic type 344.Op Ic not 345.Ic management 346.Oo Op Ic not 347.Ar subtype Oc 348.Xc 349Match management frames. 350The 351.Ar subtype 352argument may be specified to optionally match management frames of the 353given subtype. 354The subtype match may be negated by specifying the 355.Ic not 356keyword. 357See the 358.Sx Management Frame Subtypes 359section below for available subtypes specifications. 360.El 361.Pp 362The 363.Ar dir 364parameter specifies the direction the frame is being sent. 365The direction may be specified in the following ways: 366.Bl -tag -width Ds 367.It Ic dir any 368Match all directions. 369.It Ic dir Ar framedir 370Match frames with the given direction 371.Ar framedir . 372See the 373.Sx Frame Directions 374section below for available direction specifications. 375.El 376.Pp 377The 378.Ar radiotap 379rules allow parsing and matching of the extra information reported by 380the radiotap header. 381Support for the specified radiotap headers is optional and the 382specific parameters depend on the radiotap elements reported 383by the wireless interface. 384Support for the radiotap data link type can be verified with the 385.Xr tcpdump 8 386command. 387These rules require 388.Ic hostap mode radiotap 389in the global configuration. 390.Bl -tag -width Ds 391.It Xo 392.Ic signal 393.Op Ic operator 394.Ar percentage Ic % 395.Xc 396Match the signal quality of the received frame. 397.It Xo 398.Ic freq 399.Op Ic operator 400.Ar value Ic ( GHz \*(Ba MHz ) 401.Xc 402Match the transmit rate of the received frame. 403.It Xo 404.Ic txrate 405.Op Ic operator 406.Ar rate Ic Mb 407.Xc 408Match the frequency of the received frame, 409in Mbps. 410.El 411.Pp 412The radiotap rules support the following operators. 413If omitted, the specified value will be checked if it is equal or not. 414.Bd -literal -offset indent 415= (equal) 416!= (not equal) 417\*(Lt (less than) 418\*(Le (less than or equal) 419\*(Gt (greater than) 420\*(Ge (greater than or equal) 421.Ed 422.Pp 423The 424.Ar from , to , 425and 426.Ar bssid 427parameters specify the IEEE 802.11 address fields to match on. 428They can be specified in the following ways: 429.Bl -tag -width Ds 430.It Xo 431.Ic ( from \*(Ba to \*(Ba bssid ) Ic any 432.Xc 433Allow all addresses for the specified address field. 434.It Xo 435.Ic ( from \*(Ba to \*(Ba bssid ) 436.Op Ic not 437.Aq Ar table 438.Xc 439Allow allow addresses from the given 440.Aq Ar table 441(see 442.Sx Tables 443above) 444for the specified address field. 445.It Xo 446.Ic ( from \*(Ba to \*(Ba bssid ) 447.Op Ic not 448.Ar lladdr 449.Xc 450Allow the given address 451.Ar lladdr 452for the specified address field. 453.El 454.El 455.Ss Rule Action 456An optional 457.Ar action 458is triggered if a received IEEE 802.11 frame matches the frame 459description. 460The following actions are supported: 461.Bl -tag -width Ds 462.It Xo 463.Ic with frame Ar type 464.Op Ar dir 465.Ar from to bssid 466.Xc 467Send an arbitrary constructed frame to the wireless network. 468The arguments are as follows. 469.Pp 470The 471.Ar type 472describes the IEEE 802.11 frame type to send, specified in the 473frame control header. 474The following frames types are supported at present: 475.Bl -tag -width Ds 476.It Ic type data 477Send a data frame. 478This is normally used to encapsulate ordinary IEEE 802.3 479frames into IEEE 802.11 wireless frames. 480.It Ic type Ic management Ar subtype 481Send a management frame with the specified subtype. 482Management frames are used to control states and to find access points 483and IBSS nodes in IEEE 802.11 networks. 484See the 485.Sx Management Frame Subtypes 486section below for available subtypes specifications. 487.El 488.Pp 489The 490.Ar dir 491describes the direction the IEEE 802.11 frame will be sent. 492It has the following syntax: 493.Bd -filled -offset indent 494.Ic dir Ar framedir 495.Ed 496.Pp 497See the 498.Sx Frame Directions 499section below for available direction specifications. 500.Pp 501The 502.Ar from , to , 503and 504.Ar bssid 505arguments specify the link layer address fields used in IEEE 802.11 506frames. 507All address fields are mandatory in the frame action. 508The optional fourth address field used by wireless distribution 509systems (WDS) is currently not supported. 510Each argument is specified by a keyword of the same name 511.Po 512.Ic from , to , 513or 514.Ic bssid 515.Pc 516followed by one of the following address specifications: 517.Bl -tag -width "&refaddr" 518.It Ar lladdr 519Specify the link layer addresses used in the IEEE 802.11 frame address 520field. 521The link layer address 522.Ql ff:ff:ff:ff:ff:ff 523is the IEEE 802.11 broadcast address. 524.It Li & Ns Ar refaddr 525Fill in a link layer address from the previously matched IEEE 802.11 526frame. 527.Ic &from 528will use the source link layer address; 529.Ic &to 530the destination link layer address; and 531.Ic &bssid 532the BSSID link layer address of the previously matched frame. 533.It Ic random 534Use a random link layer address in the specified IEEE 802.11 frame 535address field. 536Multicast and broadcast link layer addresses will be skipped. 537.El 538.It Ic with iapp type Ar iapp-type 539Send a 540.Xr hostapd 8 541specific IAPP frame with a raw IEEE 802.11 packet dump of the received 542frame to the wired network. 543The only supported 544.Ar iapp-type 545is 546.Ic radiotap . 547.It Ic with log Op Ic verbose 548Write informational messages to the local system log (see 549.Xr syslogd 8 ) 550or standard error. 551If the 552.Sx Rule Rate 553has been specified, 554log will print the actual rate. 555.It Ic node add | delete Ar lladdr 556Add or remove the specified node from the internal kernel 557node table. 558.It Ic resend 559Resend the received IEEE 802.11 frame. 560.El 561.Ss Rule Limit 562It is possible to limit handling of specific rules with the 563.Ic limit 564keyword: 565.Bd -filled -offset indent 566.Ic limit 567.Ar number 568.Ic sec \*(Ba usec 569.Ed 570.Pp 571In some cases it is absolutely necessary to use limited matching 572to protect 573.Xr hostapd 8 574against excessive flooding with IEEE 802.11 frames. 575For example, beacon frames will be normally received every 100 ms. 576.Ss Rule Rate 577It is possible to tell 578.Xr hostapd 8 579to trigger the action only after a specific 580.Ic rate 581of matched frames. 582.Bd -filled -offset indent 583.Ic rate 584.Ar number 585.Ar / 586.Ar number 587.Ic sec 588.Ed 589.Pp 590This will help to detect excessive flooding of IEEE 802.11 frames. 591For example, de-auth flooding is a DoS (Denial of Service) attack 592against IEEE 802.11 wireless networks. 593.Ss Management Frame Subtypes 594The 595.Ar subtype 596describes the IEEE 802.11 frame subtype, specified in 597the frame control header. 598The choice of subtypes depends on the used frame type. 599.Xr hostapd 8 600currently only supports management frame subtypes. 601Most frame subtypes require an additional subtype-specific header 602in the frame body, but currently only the 603.Ic deauth 604and 605.Ic disassoc 606reason codes are supported: 607.Bl -ohang -offset 3n 608.It Ic subtype beacon 609A beacon frame. 610Wireless access points and devices running in 611.Em ibss 612master or 613.Em hostap 614mode continuously send beacon frames to indicate their presence, 615traffic load, and capabilities. 616.It Ic subtype deauth Op Ar reason 617A deauthentication frame with an optional reason code. 618Deauthenticated stations will lose any IEEE 802.11 operational state. 619.It Ic subtype disassoc Op Ar reason 620A disassociation frame with an optional reason code. 621.It Ic subtype assoc request 622An association request frame. 623.It Ic subtype assoc response 624An association response frame. 625.It Ic subtype atim 626An announcement traffic indication message (ATIM frame). 627.It Xo 628.Ic subtype auth Op Ic open request \*(Ba response 629.Xc 630An authentication frame. 631.It Ic subtype probe request 632A probe request frame. 633Probe requests are used to probe for access points and IBSS nodes. 634.It Ic subtype probe response 635A probe response frame. 636.It Ic subtype reassoc request 637A re-association request frame. 638.It Ic subtype reassoc response 639A re-association response frame. 640.El 641.Pp 642The 643.Ar reason 644defines a descriptive reason for the actual 645.Em deauthentication 646or 647.Em disassociation 648of a station: 649.Bl -ohang -offset 3n 650.It Ic reason assoc expire 651Disassociated due to inactivity. 652.It Ic reason assoc leave 653Disassociated because the sending station is leaving or has left the 654wireless network. 655.It Ic reason assoc toomany 656Disassociated because the access point has reached its limit of 657associated stations. 658.It Ic reason auth expire 659Previous authentication no longer valid. 660.It Ic reason auth leave 661Deauthenticated because the sending station is leaving or has left the 662wireless network. 663.It Ic reason ie invalid 664IEEE 802.11i extension. 665.It Ic reason mic failure 666IEEE 802.11i extension. 667.It Ic reason not authed 668Frame received from unauthenticated station. 669.It Ic reason assoc not authed 670Frame received from an associated but unauthenticated station. 671.It Ic reason not assoced 672Frame received from unassociated station. 673.It Ic reason rsn required 674IEEE 802.11i extension. 675.It Ic reason rsn inconsistent 676IEEE 802.11i extension. 677.It Ic reason unspecified 678Unspecified reason. 679.El 680.Ss Frame Directions 681The direction a frame is being transmitted 682.Pq Ar framedir 683can be specified in the following ways: 684.Bl -ohang -offset 3n 685.It Ic dir no ds 686No distribution system direction is used for management frames. 687.It Ic dir to ds 688A frame sent from a station to the distribution system, the access point. 689.It Ic dir from ds 690A frame from the distribution system, the access point, to a station. 691.It Ic dir ds to ds 692A frame direction used by wireless distribution systems (WDS) for 693wireless access point to access point communication. 694.El 695.Sh EVENT RULE EXAMPLES 696.Bd -literal 697# Log probe requests locally 698hostap handle type management subtype probe request \e 699 with log 700 701# Detect flooding of management frames except beacons. 702# This will detect some possible Denial of Service attacks 703# against the IEEE 802.11 protocol. 704hostap handle skip type management subtype ! beacon \e 705 with log \e 706 rate 100 / 10 sec 707 708# Log rogue access points via IAPP, limited to every second, 709# and skip further IAPP processing. 710hostap handle skip type management subtype beacon bssid !<myess> \e 711 with iapp type radiotap limit 1 sec 712 713# Send deauthentication frames to stations associated to rogue APs 714hostap handle type data bssid !<myess> with frame type management \e 715 subtype deauth reason auth expire \e 716 from &bssid to &from bssid &bssid 717 718# Send authentication requests from random station addresses to 719# rogue access points. This is a common way to test the quality of 720# various hostap implementations. 721hostap handle skip type management subtype beacon bssid <pentest> \e 722 with frame type management subtype auth \e 723 from random to &bssid bssid &bssid 724 725# Re-inject a received IEEE 802.11 frame on the interface ath0 726hostap handle on ath0 type management subtype auth with resend 727 728# Remove a blacklisted node from the kernel node tree 729hostap handle type management subtype auth from <blacklist> \e 730 with node delete &from 731 732# Log rogue access points with a strong signal quality on 733# channel 3 (2.422GHz) transmitting frames with 1Mbps. 734hostap handle type management subtype beacon bssid !<myess> \e 735 signal >= 50% txrate 1Mb freq 2.422GHz \e 736 with log 737.Ed 738.Sh IP ROAMING 739In a traditional wireless network, multiple access points are 740members of a single layer 3 broadcast domain. 741The traffic is bridged between physical collision domains, 742as with the 743.Xr bridge 4 744interface in 745.Ox . 746This may cause problems in large wireless networks with a heavy load 747of broadcast traffic, like broadcasted ARP, DHCP or ICMP requests. 748.Pp 749.Xr hostapd 8 750implements IP based roaming to build wireless networks 751without the requirement of a single broadcast domain. 752This works as follows: 753.Pp 754.Bl -enum -compact 755.It 756Every access point running 757.Xr hostapd 8 758is a router to an individual internal broadcast domain, 759.Em without 760using the 761.Xr bridge 4 762interface. 763.It 764An increased multicast TTL is used for IAPP communication 765between access points in multiple network segments. 766Multicast routing is required in the network infrastructure, 767like an 768.Ox 769router running 770.Xr mrouted 8 . 771.It 772The configuration file 773.Nm 774is used to assign IP subnets to link layer addresses. 775If a station with the specified link layer address successfully 776associates to the access point, 777.Xr hostapd 8 778will configure the specified IP address and subnet on 779the wireless interface. 780.It 781The 782IAPP 783.Em ADD.notify 784message is used to notify other access points running 785.Xr hostapd 8 786to remove the station and any assigned IP addresses or subnets from 787the wireless interface. 788.It 789A dynamic routing daemon like 790.Xr ospfd 8 791or 792.Xr bgpd 8 793running on the access point will be used to announce the 794new IP route to the internal network and routers. 795.El 796.Pp 797For example: 798.Bd -literal -offset indent 799# Assign IP addresses to layer 2 addresses 800table <clients> { 801 00:02:6f:42:d0:01 -> 172.23.5.1/30 802 00:05:4e:45:d3:b8 -> 172.23.5.4/30 803 00:04:2e:12:03:e0 -> 172.23.5.8/30 804} 805 806# Global options 807set hostap interface ath0 808set hostap mode radiotap 809set iapp interface sis0 810set iapp address roaming table <clients> 811set iapp handle subtype address roaming 812set iapp mode multicast ttl 2 813.Ed 814.Sh FILES 815.Bl -tag -width "/etc/hostapd.conf" -compact 816.It Pa /etc/hostapd.conf 817Default location of the configuration file. 818.El 819.Sh SEE ALSO 820.Xr hostapd 8 821.Sh AUTHORS 822The 823.Xr hostapd 8 824program was written by 825.An Reyk Floeter Aq Mt reyk@openbsd.org . 826.Sh CAVEATS 827.Em IP Roaming 828requires statically assigned IP addresses of stations and does 829not support DHCP at present. 830