[Xenomai-git] Gilles Chanteperdrix : icmp: forward unused packet to proxy

2016-06-15 Thread git repository hosting
Module: xenomai-gch
Branch: stable-3.0.x
Commit: 242c6b4bf525b131e5efaf206a7b784af549e8c2
URL:
http://git.xenomai.org/?p=xenomai-gch.git;a=commit;h=242c6b4bf525b131e5efaf206a7b784af549e8c2

Author: Gilles Chanteperdrix 
Date:   Wed Jun 15 13:18:56 2016 +0200

icmp: forward unused packet to proxy

in order to get ping from the proxy interface to work

---

 kernel/drivers/net/stack/ipv4/icmp.c |   14 --
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/kernel/drivers/net/stack/ipv4/icmp.c 
b/kernel/drivers/net/stack/ipv4/icmp.c
index 58d97cd..f5c1ec6 100644
--- a/kernel/drivers/net/stack/ipv4/icmp.c
+++ b/kernel/drivers/net/stack/ipv4/icmp.c
@@ -37,6 +37,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 
@@ -144,10 +145,16 @@ void rt_icmp_cleanup_echo_requests(void)
  */
 static void rt_icmp_discard(struct rtskb *skb)
 {
+#ifdef CONFIG_RTNET_ADDON_PROXY
+if (rt_ip_fallback_handler) {
+/* If a fallback handler for IP protocol has been installed,
+ * call it. */
+   __rtskb_push(skb, skb->nh.iph->ihl*4 + sizeof(struct icmphdr));
+rt_ip_fallback_handler(skb);
+}
+#endif /* CONFIG_RTNET_ADDON_PROXY */
 }
 
-
-
 static int rt_icmp_glue_reply_bits(const void *p, unsigned char *to,
   unsigned int offset, unsigned int fraglen)
 {
@@ -446,6 +453,9 @@ static struct rt_icmp_control 
rt_icmp_pointers[NR_ICMP_TYPES+1] =
  */
 struct rtsocket *rt_icmp_dest_socket(struct rtskb *skb)
 {
+if (list_empty(_calls))
+   return NULL;
+
 rt_socket_reference(icmp_socket);
 return icmp_socket;
 }


___
Xenomai-git mailing list
Xenomai-git@xenomai.org
https://xenomai.org/mailman/listinfo/xenomai-git


[Xenomai-git] Gilles Chanteperdrix : icmp: forward unused packet to proxy

2016-06-15 Thread git repository hosting
Module: xenomai-gch
Branch: next
Commit: e79435d551dc57fa6200bba5161843f409ea8a8a
URL:
http://git.xenomai.org/?p=xenomai-gch.git;a=commit;h=e79435d551dc57fa6200bba5161843f409ea8a8a

Author: Gilles Chanteperdrix 
Date:   Wed Jun 15 13:18:56 2016 +0200

icmp: forward unused packet to proxy

in order to get ping from the proxy interface to work

---

 kernel/drivers/net/stack/ipv4/icmp.c |   14 --
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/kernel/drivers/net/stack/ipv4/icmp.c 
b/kernel/drivers/net/stack/ipv4/icmp.c
index 58d97cd..f5c1ec6 100644
--- a/kernel/drivers/net/stack/ipv4/icmp.c
+++ b/kernel/drivers/net/stack/ipv4/icmp.c
@@ -37,6 +37,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 
@@ -144,10 +145,16 @@ void rt_icmp_cleanup_echo_requests(void)
  */
 static void rt_icmp_discard(struct rtskb *skb)
 {
+#ifdef CONFIG_RTNET_ADDON_PROXY
+if (rt_ip_fallback_handler) {
+/* If a fallback handler for IP protocol has been installed,
+ * call it. */
+   __rtskb_push(skb, skb->nh.iph->ihl*4 + sizeof(struct icmphdr));
+rt_ip_fallback_handler(skb);
+}
+#endif /* CONFIG_RTNET_ADDON_PROXY */
 }
 
-
-
 static int rt_icmp_glue_reply_bits(const void *p, unsigned char *to,
   unsigned int offset, unsigned int fraglen)
 {
@@ -446,6 +453,9 @@ static struct rt_icmp_control 
rt_icmp_pointers[NR_ICMP_TYPES+1] =
  */
 struct rtsocket *rt_icmp_dest_socket(struct rtskb *skb)
 {
+if (list_empty(_calls))
+   return NULL;
+
 rt_socket_reference(icmp_socket);
 return icmp_socket;
 }


___
Xenomai-git mailing list
Xenomai-git@xenomai.org
https://xenomai.org/mailman/listinfo/xenomai-git


[Xenomai-git] Gilles Chanteperdrix : icmp: forward unused packet to proxy

2016-06-15 Thread git repository hosting
Module: xenomai-gch
Branch: next
Commit: 3c48fee2b7a7b934eb5eea0074b972f2a25cff9d
URL:
http://git.xenomai.org/?p=xenomai-gch.git;a=commit;h=3c48fee2b7a7b934eb5eea0074b972f2a25cff9d

Author: Gilles Chanteperdrix 
Date:   Wed Jun 15 13:18:56 2016 +0200

icmp: forward unused packet to proxy

in order to get ping from the proxy interface to work

---

 kernel/drivers/net/stack/ipv4/icmp.c |   14 --
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/kernel/drivers/net/stack/ipv4/icmp.c 
b/kernel/drivers/net/stack/ipv4/icmp.c
index 58d97cd..f5c1ec6 100644
--- a/kernel/drivers/net/stack/ipv4/icmp.c
+++ b/kernel/drivers/net/stack/ipv4/icmp.c
@@ -37,6 +37,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 
@@ -144,10 +145,16 @@ void rt_icmp_cleanup_echo_requests(void)
  */
 static void rt_icmp_discard(struct rtskb *skb)
 {
+#ifdef CONFIG_RTNET_ADDON_PROXY
+if (rt_ip_fallback_handler) {
+/* If a fallback handler for IP protocol has been installed,
+ * call it. */
+   __rtskb_push(skb, skb->nh.iph->ihl*4 + sizeof(struct icmphdr));
+rt_ip_fallback_handler(skb);
+}
+#endif /* CONFIG_RTNET_ADDON_PROXY */
 }
 
-
-
 static int rt_icmp_glue_reply_bits(const void *p, unsigned char *to,
   unsigned int offset, unsigned int fraglen)
 {
@@ -446,6 +453,9 @@ static struct rt_icmp_control 
rt_icmp_pointers[NR_ICMP_TYPES+1] =
  */
 struct rtsocket *rt_icmp_dest_socket(struct rtskb *skb)
 {
+if (list_empty(_calls))
+   return NULL;
+
 rt_socket_reference(icmp_socket);
 return icmp_socket;
 }


___
Xenomai-git mailing list
Xenomai-git@xenomai.org
https://xenomai.org/mailman/listinfo/xenomai-git


[Xenomai-git] Gilles Chanteperdrix : icmp: forward unused packet to proxy

2016-06-15 Thread git repository hosting
Module: xenomai-gch
Branch: stable-3.0.x
Commit: de074156b5a0def7f37475e38a8ae4d4f44916f2
URL:
http://git.xenomai.org/?p=xenomai-gch.git;a=commit;h=de074156b5a0def7f37475e38a8ae4d4f44916f2

Author: Gilles Chanteperdrix 
Date:   Wed Jun 15 13:18:56 2016 +0200

icmp: forward unused packet to proxy

in order to get ping from the proxy interface to work

---

 kernel/drivers/net/stack/ipv4/icmp.c |   14 --
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/kernel/drivers/net/stack/ipv4/icmp.c 
b/kernel/drivers/net/stack/ipv4/icmp.c
index 58d97cd..f5c1ec6 100644
--- a/kernel/drivers/net/stack/ipv4/icmp.c
+++ b/kernel/drivers/net/stack/ipv4/icmp.c
@@ -37,6 +37,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 
@@ -144,10 +145,16 @@ void rt_icmp_cleanup_echo_requests(void)
  */
 static void rt_icmp_discard(struct rtskb *skb)
 {
+#ifdef CONFIG_RTNET_ADDON_PROXY
+if (rt_ip_fallback_handler) {
+/* If a fallback handler for IP protocol has been installed,
+ * call it. */
+   __rtskb_push(skb, skb->nh.iph->ihl*4 + sizeof(struct icmphdr));
+rt_ip_fallback_handler(skb);
+}
+#endif /* CONFIG_RTNET_ADDON_PROXY */
 }
 
-
-
 static int rt_icmp_glue_reply_bits(const void *p, unsigned char *to,
   unsigned int offset, unsigned int fraglen)
 {
@@ -446,6 +453,9 @@ static struct rt_icmp_control 
rt_icmp_pointers[NR_ICMP_TYPES+1] =
  */
 struct rtsocket *rt_icmp_dest_socket(struct rtskb *skb)
 {
+if (list_empty(_calls))
+   return NULL;
+
 rt_socket_reference(icmp_socket);
 return icmp_socket;
 }


___
Xenomai-git mailing list
Xenomai-git@xenomai.org
https://xenomai.org/mailman/listinfo/xenomai-git