net: core: add UID to flows, rules, and routes
- Define a new FIB rule attributes, FRA_UID_RANGE, to describe a range of UIDs. - Define a RTA_UID attribute for per-UID route lookups and dumps. - Support passing these attributes to and from userspace via rtnetlink. The value INVALID_UID indicates no UID was specified. - Add a UID field to the flow structures. Signed-off-by: Lorenzo Colitti <lorenzo@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
86741ec254
commit
622ec2c9d5
@@ -8,6 +8,11 @@
|
||||
#include <net/flow.h>
|
||||
#include <net/rtnetlink.h>
|
||||
|
||||
struct fib_kuid_range {
|
||||
kuid_t start;
|
||||
kuid_t end;
|
||||
};
|
||||
|
||||
struct fib_rule {
|
||||
struct list_head list;
|
||||
int iifindex;
|
||||
@@ -30,6 +35,7 @@ struct fib_rule {
|
||||
int suppress_prefixlen;
|
||||
char iifname[IFNAMSIZ];
|
||||
char oifname[IFNAMSIZ];
|
||||
struct fib_kuid_range uid_range;
|
||||
struct rcu_head rcu;
|
||||
};
|
||||
|
||||
@@ -92,7 +98,8 @@ struct fib_rules_ops {
|
||||
[FRA_SUPPRESS_PREFIXLEN] = { .type = NLA_U32 }, \
|
||||
[FRA_SUPPRESS_IFGROUP] = { .type = NLA_U32 }, \
|
||||
[FRA_GOTO] = { .type = NLA_U32 }, \
|
||||
[FRA_L3MDEV] = { .type = NLA_U8 }
|
||||
[FRA_L3MDEV] = { .type = NLA_U8 }, \
|
||||
[FRA_UID_RANGE] = { .len = sizeof(struct fib_rule_uid_range) }
|
||||
|
||||
static inline void fib_rule_get(struct fib_rule *rule)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user