[v2,04/15] protobuf: add SysctlEntry for ipv4/ipv6 sysctl confs or some others

Submitted by Pavel Tikhomirov on April 20, 2016, 2:42 p.m.

Details

Message ID 1461163376-32668-5-git-send-email-ptikhomirov@virtuozzo.com
State Rejected
Series "net/ipv6: c/r dev/default/all conf ops"
Headers show

Commit Message

Pavel Tikhomirov April 20, 2016, 2:42 p.m.
int32 with boolean value in protobuf has the same size with bool,
many sysctls are boolean but we don't lose anything by storing them
in int32, so add only int32 and string fields

will need string field for stable_secret ipv6 sysctl

also such fromat allows us to easily handle non-present sysctls
we can check if we have it using has_*arg

Signed-off-by: Pavel Tikhomirov <ptikhomirov@virtuozzo.com>
---
 images/Makefile     | 1 +
 images/netdev.proto | 6 ++++++
 images/sysctl.proto | 7 +++++++
 3 files changed, 14 insertions(+)
 create mode 100644 images/sysctl.proto

Patch hide | download patch | download mbox

diff --git a/images/Makefile b/images/Makefile
index a29a049..a8420de 100644
--- a/images/Makefile
+++ b/images/Makefile
@@ -58,6 +58,7 @@  proto-obj-y	+= opts.o
 proto-obj-y	+= seccomp.o
 proto-obj-y	+= binfmt-misc.o
 proto-obj-y	+= time.o
+proto-obj-y	+= sysctl.o
 
 CFLAGS		+= -iquote $(obj)/
 
diff --git a/images/netdev.proto b/images/netdev.proto
index dafa2bd..ce0daeb 100644
--- a/images/netdev.proto
+++ b/images/netdev.proto
@@ -1,5 +1,6 @@ 
 import "opts.proto";
 import "tun.proto";
+import "sysctl.proto";
 
 enum nd_type {
 	LOOPBACK	= 1;
@@ -31,9 +32,14 @@  message net_device_entry {
 	optional bytes address		= 7;
 
 	repeated int32 conf		= 8;
+
+	repeated sysctl_entry conf4	= 9;
 }
 
 message netns_entry {
 	repeated int32 def_conf		= 1;
 	repeated int32 all_conf		= 2;
+
+	repeated sysctl_entry def_conf4	= 3;
+	repeated sysctl_entry all_conf4	= 4;
 }
diff --git a/images/sysctl.proto b/images/sysctl.proto
new file mode 100644
index 0000000..4f0d94b
--- /dev/null
+++ b/images/sysctl.proto
@@ -0,0 +1,7 @@ 
+message sysctl_entry {
+	/* CTL_32, __CTL_STR */
+	required int32 type		= 1;
+
+	optional int32 iarg		= 2;
+	optional string sarg		= 3;
+}