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