mroute: Add table id attribute for kernel side filtering

Similar to 'ip route' add the table id to the dump request for
kernel side filtering if it is supported.

Signed-off-by: David Ahern <dsahern@gmail.com>
This commit is contained in:
David Ahern 2018-10-15 10:30:34 -07:00
parent 98ce99273f
commit e41ede8939
1 changed files with 14 additions and 1 deletions

View File

@ -220,6 +220,19 @@ void ipmroute_reset_filter(int ifindex)
filter.iif = ifindex;
}
static int iproute_dump_filter(struct nlmsghdr *nlh, int reqlen)
{
int err;
if (filter.tb) {
err = addattr32(nlh, reqlen, RTA_TABLE, filter.tb);
if (err)
return err;
}
return 0;
}
static int mroute_list(int argc, char **argv)
{
char *id = NULL;
@ -285,7 +298,7 @@ static int mroute_list(int argc, char **argv)
filter.iif = idx;
}
if (rtnl_routedump_req(&rth, filter.af, NULL) < 0) {
if (rtnl_routedump_req(&rth, filter.af, iproute_dump_filter) < 0) {
perror("Cannot send dump request");
return 1;
}