diff options
Diffstat (limited to 'filter/filter.c')
-rw-r--r-- | filter/filter.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/filter/filter.c b/filter/filter.c index 8b66b57e..02d3b960 100644 --- a/filter/filter.c +++ b/filter/filter.c @@ -1000,6 +1000,20 @@ interpret(struct f_inst *what) rta->hostentry = NULL; break; + case SA_IFNAME: + { + struct iface *ifa = if_find_by_name(v1.val.s); + if (!ifa) + runtime( "Invalid iface name" ); + + rta->dest = RTD_DEVICE; + rta->gw = IPA_NONE; + rta->iface = ifa; + rta->nexthops = NULL; + rta->hostentry = NULL; + } + break; + default: bug("Invalid static attribute access (%x)", res.type); } |