summaryrefslogtreecommitdiff
path: root/filter/filter.c
diff options
context:
space:
mode:
Diffstat (limited to 'filter/filter.c')
-rw-r--r--filter/filter.c14
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);
}