[CRIU] [PATCH 1/4] protobuf: move enum nd_type inside net_device_entry message
Ruslan Kuprieiev
kupruser at gmail.com
Thu Sep 11 16:50:42 PDT 2014
This is needed because of protoc compiler, that not allows us to have
few global enums with same members because of some strange C++ enum
rules.
Signed-off-by: Ruslan Kuprieiev <kupruser at gmail.com>
---
net.c | 22 +++++++++++-----------
protobuf/netdev.proto | 26 +++++++++++++-------------
2 files changed, 24 insertions(+), 24 deletions(-)
diff --git a/net.c b/net.c
index 543f24c..d53907d 100644
--- a/net.c
+++ b/net.c
@@ -69,7 +69,7 @@ static int dump_one_netdev(int type, struct ifinfomsg *ifi,
netdev.flags = ifi->ifi_flags;
netdev.name = RTA_DATA(tb[IFLA_IFNAME]);
- if (tb[IFLA_ADDRESS] && (type != ND_TYPE__LOOPBACK)) {
+ if (tb[IFLA_ADDRESS] && (type != NET_DEVICE_ENTRY__ND_TYPE__LOOPBACK)) {
netdev.has_address = true;
netdev.address.data = RTA_DATA(tb[IFLA_ADDRESS]);
netdev.address.len = RTA_PAYLOAD(tb[IFLA_ADDRESS]);
@@ -109,7 +109,7 @@ static int dump_unknown_device(struct ifinfomsg *ifi, char *kind,
ret = run_plugins(DUMP_EXT_LINK, ifi->ifi_index, ifi->ifi_type, kind);
if (ret == 0)
- return dump_one_netdev(ND_TYPE__EXTLINK, ifi, tb, fds, NULL);
+ return dump_one_netdev(NET_DEVICE_ENTRY__ND_TYPE__EXTLINK, ifi, tb, fds, NULL);
if (ret == -ENOTSUP)
pr_err("Unsupported link %d (type %d kind %s)\n",
@@ -129,9 +129,9 @@ static int dump_one_ethernet(struct ifinfomsg *ifi, char *kind,
* Sigh... we have to assume, that the veth device is a
* connection to the outer world and just dump this end :(
*/
- return dump_one_netdev(ND_TYPE__VETH, ifi, tb, fds, NULL);
+ return dump_one_netdev(NET_DEVICE_ENTRY__ND_TYPE__VETH, ifi, tb, fds, NULL);
if (!strcmp(kind, "tun"))
- return dump_one_netdev(ND_TYPE__TUN, ifi, tb, fds, dump_tun_link);
+ return dump_one_netdev(NET_DEVICE_ENTRY__ND_TYPE__TUN, ifi, tb, fds, dump_tun_link);
return dump_unknown_device(ifi, kind, tb, fds);
}
@@ -140,7 +140,7 @@ static int dump_one_gendev(struct ifinfomsg *ifi, char *kind,
struct rtattr **tb, struct cr_fdset *fds)
{
if (!strcmp(kind, "tun"))
- return dump_one_netdev(ND_TYPE__TUN, ifi, tb, fds, dump_tun_link);
+ return dump_one_netdev(NET_DEVICE_ENTRY__ND_TYPE__TUN, ifi, tb, fds, dump_tun_link);
return dump_unknown_device(ifi, kind, tb, fds);
}
@@ -154,7 +154,7 @@ static int dump_one_voiddev(struct ifinfomsg *ifi, char *kind,
* OpenVZ's venet, save general parameters of
* it as external link.
*/
- return dump_one_netdev(ND_TYPE__EXTLINK, ifi, tb, fds, NULL);
+ return dump_one_netdev(NET_DEVICE_ENTRY__ND_TYPE__EXTLINK, ifi, tb, fds, NULL);
return dump_unknown_device(ifi, kind, tb, fds);
}
@@ -178,7 +178,7 @@ static int dump_one_link(struct nlmsghdr *hdr, void *arg)
pr_info("\tLD: Got link %d, type %d\n", ifi->ifi_index, ifi->ifi_type);
if (ifi->ifi_type == ARPHRD_LOOPBACK)
- return dump_one_netdev(ND_TYPE__LOOPBACK, ifi, tb, fds, NULL);
+ return dump_one_netdev(NET_DEVICE_ENTRY__ND_TYPE__LOOPBACK, ifi, tb, fds, NULL);
kind = link_kind(ifi, tb);
if (!kind)
@@ -352,12 +352,12 @@ static int restore_link(NetDeviceEntry *nde, int nlsk)
pr_info("Restoring link %s type %d\n", nde->name, nde->type);
switch (nde->type) {
- case ND_TYPE__LOOPBACK: /* fallthrough */
- case ND_TYPE__EXTLINK: /* see comment in protobuf/netdev.proto */
+ case NET_DEVICE_ENTRY__ND_TYPE__LOOPBACK: /* fallthrough */
+ case NET_DEVICE_ENTRY__ND_TYPE__EXTLINK: /* see comment in protobuf/netdev.proto */
return restore_link_parms(nde, nlsk);
- case ND_TYPE__VETH:
+ case NET_DEVICE_ENTRY__ND_TYPE__VETH:
return restore_one_link(nde, nlsk, veth_link_info);
- case ND_TYPE__TUN:
+ case NET_DEVICE_ENTRY__ND_TYPE__TUN:
return restore_one_tun(nde, nlsk);
default:
pr_err("Unsupported link type %d\n", nde->type);
diff --git a/protobuf/netdev.proto b/protobuf/netdev.proto
index 4fa23d3..b526ace 100644
--- a/protobuf/netdev.proto
+++ b/protobuf/netdev.proto
@@ -1,19 +1,19 @@
import "tun.proto";
-enum nd_type {
- LOOPBACK = 1;
- VETH = 2;
- TUN = 3;
- /*
- * External link -- for those CRIU only dumps and restores
- * link parameters such as flags, address, MTU, etc. The
- * existence of the link on restore should be provided
- * by the setup-namespaces script.
- */
- EXTLINK = 4;
-}
-
message net_device_entry {
+ enum nd_type {
+ LOOPBACK = 1;
+ VETH = 2;
+ TUN = 3;
+ /*
+ * External link -- for those CRIU only dumps and restores
+ * link parameters such as flags, address, MTU, etc. The
+ * existence of the link on restore should be provided
+ * by the setup-namespaces script.
+ */
+ EXTLINK = 4;
+ }
+
required nd_type type = 1;
required uint32 ifindex = 2;
required uint32 mtu = 3;
--
1.9.3
More information about the CRIU
mailing list