parprouted: update to 0.7

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>


git-svn-id: svn://svn.openwrt.org/openwrt/packages@40577 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
hauke 2014-04-27 20:22:01 +00:00
parent 53b03c70e9
commit d0ea47a3ae
2 changed files with 27 additions and 28 deletions

View File

@ -8,12 +8,13 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=parprouted PKG_NAME:=parprouted
PKG_VERSION:=0.64 PKG_VERSION:=0.70
PKG_RELEASE:=5 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_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 include $(INCLUDE_DIR)/package.mk

View File

@ -1,6 +1,5 @@
diff -rupw parprouted-0.63/arp.c parprouted-0.63-1/arp.c --- a/arp.c
--- parprouted-0.63/arp.c 2004-05-23 14:06:31.000000000 +0200 +++ b/arp.c
+++ parprouted-0.63-1/arp.c 2005-03-13 16:10:18.000000000 +0100
@@ -366,7 +366,7 @@ void *arp(char *ifname) @@ -366,7 +366,7 @@ void *arp(char *ifname)
do { do {
pthread_testcancel(); pthread_testcancel();
@ -10,24 +9,23 @@ diff -rupw parprouted-0.63/arp.c parprouted-0.63-1/arp.c
if (arp_recv(sock, &frame) <= 0) if (arp_recv(sock, &frame) <= 0)
continue; continue;
diff -rupw parprouted-0.63/parprouted.c parprouted-0.63-1/parprouted.c --- a/parprouted.c
--- parprouted-0.63/parprouted.c 2004-01-30 02:45:43.000000000 +0100 +++ b/parprouted.c
+++ parprouted-0.63-1/parprouted.c 2005-03-20 09:14:35.000000000 +0100 @@ -106,7 +106,7 @@ int route_remove(ARPTAB_ENTRY* cur_entry
@@ -93,7 +93,7 @@ void processarp(int cleanup) 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, if (snprintf(routecmd_str, ROUTE_CMD_LEN-1,
- "/sbin/ip route del %s/32 metric 50 dev %s scope link", - "/sbin/ip route del %s/32 metric 50 dev %s scope link",
+ "/sbin/route del -host %s metric 50 dev %s", + "/sbin/route del -host %s metric 50 dev %s",
inet_ntoa(cur_entry->ipaddr_ia), cur_entry->ifname) > ROUTE_CMD_LEN-1) 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!"); 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;
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!");