Signed-off-by: Ander Juaristi <a@xxxxxxxxxxxx> --- include/linux/netfilter/nf_tables.h | 6 ++++++ src/expr/meta.c | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/include/linux/netfilter/nf_tables.h b/include/linux/netfilter/nf_tables.h index 03fd1b7..0222d08 100644 --- a/include/linux/netfilter/nf_tables.h +++ b/include/linux/netfilter/nf_tables.h @@ -799,6 +799,9 @@ enum nft_exthdr_attributes { * @NFT_META_OIFKIND: packet output interface kind name (dev->rtnl_link_ops->kind) * @NFT_META_BRI_IIFPVID: packet input bridge port pvid * @NFT_META_BRI_IIFVPROTO: packet input bridge vlan proto + * @NFT_META_TIME_NS: time since epoch (in nanoseconds) + * @NFT_META_TIME_DAY: day of week (from 0 = Sunday to 6 = Saturday) + * @NFT_META_TIME_HOUR: hour of day (in seconds) */ enum nft_meta_keys { NFT_META_LEN, @@ -831,6 +834,9 @@ enum nft_meta_keys { NFT_META_OIFKIND, NFT_META_BRI_IIFPVID, NFT_META_BRI_IIFVPROTO, + NFT_META_TIME_NS, + NFT_META_TIME_DAY, + NFT_META_TIME_HOUR, }; /** diff --git a/src/expr/meta.c b/src/expr/meta.c index 73f6efa..9790198 100644 --- a/src/expr/meta.c +++ b/src/expr/meta.c @@ -22,7 +22,7 @@ #include <libnftnl/rule.h> #ifndef NFT_META_MAX -#define NFT_META_MAX (NFT_META_BRI_IIFVPROTO + 1) +#define NFT_META_MAX (NFT_META_TIME_HOUR + 1) #endif struct nftnl_expr_meta { @@ -163,6 +163,9 @@ static const char *meta_key2str_array[NFT_META_MAX] = { [NFT_META_OIFKIND] = "oifkind", [NFT_META_BRI_IIFPVID] = "bri_iifpvid", [NFT_META_BRI_IIFVPROTO] = "bri_iifvproto", + [NFT_META_TIME_NS] = "time", + [NFT_META_TIME_DAY] = "day", + [NFT_META_TIME_HOUR] = "hour", }; static const char *meta_key2str(uint8_t key) -- 2.17.1