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
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

View File

@ -1,6 +1,5 @@
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
--- a/arp.c
+++ b/arp.c
@@ -366,7 +366,7 @@ void *arp(char *ifname)
do {
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)
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;
/* 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)
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;
/* 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!");