summaryrefslogtreecommitdiff
path: root/usr.sbin/hostapd/parse.y
diff options
context:
space:
mode:
authorReyk Floeter <reyk@cvs.openbsd.org>2006-05-15 20:53:03 +0000
committerReyk Floeter <reyk@cvs.openbsd.org>2006-05-15 20:53:03 +0000
commit35e8a265b9c183213211836eca2dfdd91922cd67 (patch)
tree5cfdca7d06eb274a04683e590b313068c181b18f /usr.sbin/hostapd/parse.y
parent492d6cdbb19de4eff70307b097ed5d80f49604f2 (diff)
initial implementation of "IP Roaming" in hostapd, see hostapd.conf(5).
ok dlg@
Diffstat (limited to 'usr.sbin/hostapd/parse.y')
-rw-r--r--usr.sbin/hostapd/parse.y34
1 files changed, 32 insertions, 2 deletions
diff --git a/usr.sbin/hostapd/parse.y b/usr.sbin/hostapd/parse.y
index 29717bcab1c..e2e8504e010 100644
--- a/usr.sbin/hostapd/parse.y
+++ b/usr.sbin/hostapd/parse.y
@@ -1,4 +1,4 @@
-/* $OpenBSD: parse.y,v 1.20 2005/12/29 04:33:58 reyk Exp $ */
+/* $OpenBSD: parse.y,v 1.21 2006/05/15 20:53:02 reyk Exp $ */
/*
* Copyright (c) 2004, 2005 Reyk Floeter <reyk@openbsd.org>
@@ -134,7 +134,7 @@ u_int negative;
%token ERROR CONST TABLE NODE DELETE ADD LOG VERBOSE LIMIT QUICK SKIP
%token REASON UNSPECIFIED EXPIRE LEAVE ASSOC TOOMANY NOT AUTHED ASSOCED
%token RESERVED RSN REQUIRED INCONSISTENT IE INVALID MIC FAILURE OPEN
-%token ADDRESS PORT ON NOTIFY TTL INCLUDE
+%token ADDRESS PORT ON NOTIFY TTL INCLUDE ROUTE ROAMING
%token <v.string> STRING
%token <v.val> VALUE
%type <v.val> number
@@ -196,6 +196,26 @@ option : SET HOSTAP INTERFACE hostapifaces
free($4);
}
| SET IAPP MODE iappmode
+ | SET IAPP ADDRESS ROAMING TABLE table
+ {
+ if ((hostapd_cfg.c_iapp.i_addr_tbl =
+ hostapd_table_lookup(&hostapd_cfg, $6)) == NULL) {
+ yyerror("undefined table <%s>", $6);
+ free($6);
+ YYERROR;
+ }
+ free($6);
+ }
+ | SET IAPP ROUTE ROAMING TABLE table
+ {
+ if ((hostapd_cfg.c_iapp.i_route_tbl =
+ hostapd_table_lookup(&hostapd_cfg, $6)) == NULL) {
+ yyerror("undefined table <%s>", $6);
+ free($6);
+ YYERROR;
+ }
+ free($6);
+ }
| SET IAPP HANDLE SUBTYPE iappsubtypes
;
@@ -314,6 +334,14 @@ iappsubtype : not ADD NOTIFY
{
HOSTAPD_IAPP_FLAG(RADIOTAP);
}
+ | not ROUTE ROAMING
+ {
+ HOSTAPD_IAPP_FLAG(ROAMING_ROUTE);
+ }
+ | not ADDRESS ROAMING
+ {
+ HOSTAPD_IAPP_FLAG(ROAMING_ADDRESS);
+ }
;
eventopt : /* empty */
@@ -1050,6 +1078,8 @@ lookup(char *token)
{ "resend", RESEND },
{ "reserved", RESERVED },
{ "response", RESPONSE },
+ { "roaming", ROAMING },
+ { "route", ROUTE },
{ "rsn", RSN },
{ "sec", SEC },
{ "set", SET },