diff options
| author | David Lamparter <equinox@diac24.net> | 2017-08-15 11:09:15 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-08-15 11:09:15 +0200 |
| commit | 24fb3b187384563e59f2bfec60d8f9354d48ef53 (patch) | |
| tree | bb64ffd2625cccafb9eb3b5fbf4d4586db505a61 /python/clidef.py | |
| parent | 7e4f56d349f75ab07e70bf4edcd28085eb4cfcc6 (diff) | |
| parent | 473196f613514b5bfb10ec8396b310911869e05b (diff) | |
Merge pull request #934 from qlyoung/mac-parser
lib: add CLI token for 48-bit mac addresses
Diffstat (limited to 'python/clidef.py')
| -rw-r--r-- | python/clidef.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/python/clidef.py b/python/clidef.py index 069d80fb70..8e3c7595b7 100644 --- a/python/clidef.py +++ b/python/clidef.py @@ -59,7 +59,7 @@ class PrefixBase(RenderHandler): def combine(self, other): if type(self) == type(other): return other - if type(other) in [Prefix4Handler, Prefix6Handler, PrefixGenHandler]: + if isinstance(other, PrefixBase): return PrefixGenHandler(None) return StringHandler(None) deref = '&' @@ -71,6 +71,10 @@ class Prefix6Handler(PrefixBase): argtype = 'const struct prefix_ipv6 *' decl = Template('struct prefix_ipv6 $varname = { };') code = Template('_fail = !str2prefix_ipv6(argv[_i]->arg, &$varname);') +class PrefixEthHandler(PrefixBase): + argtype = 'struct prefix_eth *' + decl = Template('struct prefix_eth $varname = { };') + code = Template('_fail = !str2prefix_eth(argv[_i]->arg, &$varname);') class PrefixGenHandler(PrefixBase): argtype = 'const struct prefix *' decl = Template('struct prefix $varname = { };') @@ -121,6 +125,8 @@ handlers = { 'IPV4_PREFIX_TKN': Prefix4Handler, 'IPV6_TKN': IP6Handler, 'IPV6_PREFIX_TKN': Prefix6Handler, + 'MAC_TKN': PrefixEthHandler, + 'MAC_PREFIX_TKN': PrefixEthHandler, } # core template invoked for each occurence of DEFPY. |
