浏览代码

ipv4: Introduce ipip_offload_init helper function.

It's convenient to init ipip offload. We will check
the return value, and print KERN_CRIT info on failure.

Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Tonghao Zhang 8 年之前
父节点
当前提交
93b1b31f87
共有 1 个文件被更改,包括 7 次插入1 次删除
  1. 7 1
      net/ipv4/af_inet.c

+ 7 - 1
net/ipv4/af_inet.c

@@ -1765,6 +1765,11 @@ static const struct net_offload ipip_offload = {
 	},
 	},
 };
 };
 
 
+static int __init ipip_offload_init(void)
+{
+	return inet_add_offload(&ipip_offload, IPPROTO_IPIP);
+}
+
 static int __init ipv4_offload_init(void)
 static int __init ipv4_offload_init(void)
 {
 {
 	/*
 	/*
@@ -1774,9 +1779,10 @@ static int __init ipv4_offload_init(void)
 		pr_crit("%s: Cannot add UDP protocol offload\n", __func__);
 		pr_crit("%s: Cannot add UDP protocol offload\n", __func__);
 	if (tcpv4_offload_init() < 0)
 	if (tcpv4_offload_init() < 0)
 		pr_crit("%s: Cannot add TCP protocol offload\n", __func__);
 		pr_crit("%s: Cannot add TCP protocol offload\n", __func__);
+	if (ipip_offload_init() < 0)
+		pr_crit("%s: Cannot add IPIP protocol offload\n", __func__);
 
 
 	dev_add_offload(&ip_packet_offload);
 	dev_add_offload(&ip_packet_offload);
-	inet_add_offload(&ipip_offload, IPPROTO_IPIP);
 	return 0;
 	return 0;
 }
 }