diff --git a/include/protobuf.h b/include/protobuf.h index 2ea9e841d..a974b80fd 100644 --- a/include/protobuf.h +++ b/include/protobuf.h @@ -31,6 +31,7 @@ enum { PB_INETSK, PB_UNIXSK, PB_PACKETSK, + PB_NETLINKSK, PB_PIPES, PB_FIFO, PB_PIPES_DATA, diff --git a/protobuf.c b/protobuf.c index ad4c87a66..7868e410a 100644 --- a/protobuf.c +++ b/protobuf.c @@ -53,6 +53,7 @@ #include "protobuf/rlimit.pb-c.h" #include "protobuf/pagemap.pb-c.h" #include "protobuf/siginfo.pb-c.h" +#include "protobuf/sk-netlink.pb-c.h" typedef size_t (*pb_getpksize_t)(void *obj); typedef size_t (*pb_pack_t)(void *obj, void *where); @@ -137,6 +138,7 @@ void cr_pb_init(void) CR_PB_MDESC_INIT(cr_pb_descs[PB_PAGEMAP_HEAD], PagemapHead, pagemap_head); CR_PB_DESC(PAGEMAP, Pagemap, pagemap); CR_PB_DESC(SIGINFO, Siginfo, siginfo); + CR_PB_DESC(NETLINKSK, NetlinkSk, netlink_sk); } /* diff --git a/protobuf/Makefile b/protobuf/Makefile index 1db47d3c2..d9e578c16 100644 --- a/protobuf/Makefile +++ b/protobuf/Makefile @@ -37,6 +37,7 @@ proto-obj-y += mm.o proto-obj-y += sk-opts.o proto-obj-y += sk-unix.o proto-obj-y += sk-inet.o +proto-obj-y += sk-netlink.o proto-obj-y += packet-sock.o proto-obj-y += ipc-var.o proto-obj-y += ipc-desc.o diff --git a/protobuf/sk-netlink.proto b/protobuf/sk-netlink.proto new file mode 100644 index 000000000..593848bdb --- /dev/null +++ b/protobuf/sk-netlink.proto @@ -0,0 +1,16 @@ +import "fown.proto"; +import "sk-opts.proto"; + +message netlink_sk_entry { + required uint32 id = 1; + required uint32 ino = 2; + required uint32 protocol = 3; + required uint32 state = 4; + required uint32 flags = 6; + required uint32 portid = 7; + repeated uint32 groups = 8; + required uint32 dst_portid = 9; + required uint32 dst_group = 10; + required fown_entry fown = 11; + required sk_opts_entry opts = 12; +}