diff options
author | Phil Sutter <phil@nwl.cc> | 2021-07-23 13:00:50 +0200 |
---|---|---|
committer | Phil Sutter <phil@nwl.cc> | 2022-03-01 10:54:03 +0100 |
commit | a7d8cca9a18ac760913b55c8a2d1e915f3d0f612 (patch) | |
tree | f0b3d5356db2e38af2050559e798f8cb3e39387e /src/scanner.l | |
parent | 5d837d270d5a8b3a4d3fdca12d0f0800b8287cdd (diff) |
scanner: icmp{,v6}: Move to own scope
Unify the two, header fields are almost identical.
Signed-off-by: Phil Sutter <phil@nwl.cc>
Diffstat (limited to 'src/scanner.l')
-rw-r--r-- | src/scanner.l | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/scanner.l b/src/scanner.l index 9a189ec3..e8ec352f 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -200,6 +200,7 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr}) %s SCANSTATE_CT %s SCANSTATE_COUNTER %s SCANSTATE_ETH +%s SCANSTATE_ICMP %s SCANSTATE_IP %s SCANSTATE_IP6 %s SCANSTATE_LIMIT @@ -496,11 +497,16 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr}) "sack-perm" { return SACK_PERM; } "timestamp" { return TIMESTAMP; } -"icmp" { return ICMP; } -"code" { return CODE; } +"icmp" { scanner_push_start_cond(yyscanner, SCANSTATE_ICMP); return ICMP; } +"icmpv6" { scanner_push_start_cond(yyscanner, SCANSTATE_ICMP); return ICMP6; } +<SCANSTATE_ICMP>{ + "gateway" { return GATEWAY; } + "code" { return CODE; } + "param-problem" { return PPTR; } + "max-delay" { return MAXDELAY; } + "mtu" { return MTU; } +} "sequence" { return SEQUENCE; } -"gateway" { return GATEWAY; } -"mtu" { return MTU; } "igmp" { return IGMP; } "mrt" { return MRT; } @@ -513,10 +519,6 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr}) } "nexthdr" { return NEXTHDR; } -"icmpv6" { return ICMP6; } -"param-problem" { return PPTR; } -"max-delay" { return MAXDELAY; } - "ah" { return AH; } "reserved" { return RESERVED; } "spi" { return SPI; } @@ -631,6 +633,7 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr}) "classid" { return CLASSID; } "nexthop" { return NEXTHOP; } "seg-left" { return SEG_LEFT; } + "mtu" { return MTU; } } "ct" { scanner_push_start_cond(yyscanner, SCANSTATE_CT); return CT; } |