parprouted: update to 0.7
authorHauke Mehrtens <hauke@hauke-m.de>
Sun, 27 Apr 2014 20:22:01 +0000 (20:22 +0000)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 27 Apr 2014 20:22:01 +0000 (20:22 +0000)
This patch updates parprouted from 0.64 to 0.7. This fixes some bugs and
adds support for hosts moving across Ethernet interfaces. Built and tested
on a WNDR3700v2.

Signed-off-by: Tristan Schmelcher <tristan_schmelcher@alumni.uwaterloo.ca>
SVN-Revision: 40577

net/parprouted/Makefile
net/parprouted/patches/001-parprouted.patch

index 673ee98d8a1270798fc1b76892ac99a9a002f66d..20d039fcbbd0bbc2861f7e416f3039988cb83f3a 100644 (file)
@@ -8,12 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=parprouted
-PKG_VERSION:=0.64
-PKG_RELEASE:=5
+PKG_VERSION:=0.70
+PKG_RELEASE:=1
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE:=$(PKG_NAME)-0.7.tar.gz
 PKG_SOURCE_URL:=http://www.hazard.maks.net/parprouted/
-PKG_MD5SUM:=14133c9cb8dd9c9a90ff37648ae7b31a
+PKG_MD5SUM:=570f5deaf09600df8f80f589de79ecdb
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-0.7
 
 include $(INCLUDE_DIR)/package.mk
 
index 17fbdecec7c1d77c042fa9fa85f8292db4e0cfd3..7b84123aab3101eca29fa2b7fcff0be891e21a99 100644 (file)
@@ -1,7 +1,6 @@
-diff -rupw parprouted-0.63/arp.c parprouted-0.63-1/arp.c
---- parprouted-0.63/arp.c      2004-05-23 14:06:31.000000000 +0200
-+++ parprouted-0.63-1/arp.c    2005-03-13 16:10:18.000000000 +0100
-@@ -366,7 +366,7 @@ void *arp(char *ifname) 
+--- a/arp.c
++++ b/arp.c
+@@ -366,7 +366,7 @@ void *arp(char *ifname)
      do {
        pthread_testcancel();
        /* Sleep a bit in order not to overload the system */
@@ -10,24 +9,23 @@ diff -rupw parprouted-0.63/arp.c parprouted-0.63-1/arp.c
  
        if (arp_recv(sock, &frame) <= 0)
            continue;
-diff -rupw parprouted-0.63/parprouted.c parprouted-0.63-1/parprouted.c
---- parprouted-0.63/parprouted.c       2004-01-30 02:45:43.000000000 +0100
-+++ parprouted-0.63-1/parprouted.c     2005-03-20 09:14:35.000000000 +0100
-@@ -93,7 +93,7 @@ void processarp(int cleanup) 
+--- a/parprouted.c
++++ b/parprouted.c
+@@ -106,7 +106,7 @@ int route_remove(ARPTAB_ENTRY* cur_entry
+     int success = 1;
+     
+     if (snprintf(routecmd_str, ROUTE_CMD_LEN-1, 
+-          "/sbin/ip route del %s/32 metric 50 dev %s scope link",
++          "/sbin/route del -host %s metric 50 dev %s",
+           inet_ntoa(cur_entry->ipaddr_ia), cur_entry->ifname) > ROUTE_CMD_LEN-1) 
+     {
+       syslog(LOG_INFO, "ip route command too large to fit in buffer!");
+@@ -136,7 +136,7 @@ int route_add(ARPTAB_ENTRY* cur_entry)
+     int success = 1;
  
-           /* added route to the kernel */
-           if (snprintf(routecmd_str, ROUTE_CMD_LEN-1, 
--                   "/sbin/ip route add %s/32 metric 50 dev %s scope link",
-+                   "/sbin/route add -host %s metric 50 dev %s",
-                    inet_ntoa(cur_entry->ipaddr_ia), cur_entry->ifname) > ROUTE_CMD_LEN-1) 
-           {
-               syslog(LOG_INFO, "ip route command too large to fit in buffer!");
-@@ -112,7 +112,7 @@ void processarp(int cleanup) 
-           /* remove entry from arp table and remove route from kernel */
-           if (snprintf(routecmd_str, ROUTE_CMD_LEN-1, 
--                   "/sbin/ip route del %s/32 metric 50 dev %s scope link",
-+                   "/sbin/route del -host %s metric 50 dev %s",
-                    inet_ntoa(cur_entry->ipaddr_ia), cur_entry->ifname) > ROUTE_CMD_LEN-1) 
-           {
-               syslog(LOG_INFO, "ip route command too large to fit in buffer!");
+     if (snprintf(routecmd_str, ROUTE_CMD_LEN-1, 
+-          "/sbin/ip route add %s/32 metric 50 dev %s scope link",
++          "/sbin/route add -host %s metric 50 dev %s",
+           inet_ntoa(cur_entry->ipaddr_ia), cur_entry->ifname) > ROUTE_CMD_LEN-1) 
+     {
+       syslog(LOG_INFO, "ip route command too large to fit in buffer!");