1 | // SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) |
2 | /* Do not edit directly, auto-generated from: */ |
3 | /* Documentation/netlink/specs/fou.yaml */ |
4 | /* YNL-GEN kernel source */ |
5 | |
6 | #include <net/netlink.h> |
7 | #include <net/genetlink.h> |
8 | |
9 | #include "fou_nl.h" |
10 | |
11 | #include <uapi/linux/fou.h> |
12 | |
13 | /* Global operation policy for fou */ |
14 | const struct nla_policy fou_nl_policy[FOU_ATTR_IFINDEX + 1] = { |
15 | [FOU_ATTR_PORT] = { .type = NLA_U16, }, |
16 | [FOU_ATTR_AF] = { .type = NLA_U8, }, |
17 | [FOU_ATTR_IPPROTO] = { .type = NLA_U8, }, |
18 | [FOU_ATTR_TYPE] = { .type = NLA_U8, }, |
19 | [FOU_ATTR_REMCSUM_NOPARTIAL] = { .type = NLA_FLAG, }, |
20 | [FOU_ATTR_LOCAL_V4] = { .type = NLA_U32, }, |
21 | [FOU_ATTR_LOCAL_V6] = { .len = 16, }, |
22 | [FOU_ATTR_PEER_V4] = { .type = NLA_U32, }, |
23 | [FOU_ATTR_PEER_V6] = { .len = 16, }, |
24 | [FOU_ATTR_PEER_PORT] = { .type = NLA_U16, }, |
25 | [FOU_ATTR_IFINDEX] = { .type = NLA_S32, }, |
26 | }; |
27 | |
28 | /* Ops table for fou */ |
29 | const struct genl_small_ops fou_nl_ops[3] = { |
30 | { |
31 | .cmd = FOU_CMD_ADD, |
32 | .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP, |
33 | .doit = fou_nl_add_doit, |
34 | .flags = GENL_ADMIN_PERM, |
35 | }, |
36 | { |
37 | .cmd = FOU_CMD_DEL, |
38 | .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP, |
39 | .doit = fou_nl_del_doit, |
40 | .flags = GENL_ADMIN_PERM, |
41 | }, |
42 | { |
43 | .cmd = FOU_CMD_GET, |
44 | .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP, |
45 | .doit = fou_nl_get_doit, |
46 | .dumpit = fou_nl_get_dumpit, |
47 | }, |
48 | }; |
49 | |