Port parprouted to -ng
git-svn-id: svn://svn.openwrt.org/openwrt/packages@4490 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
564a0f31fc
commit
8d0f5dbe76
52
net/parprouted/Makefile
Normal file
52
net/parprouted/Makefile
Normal file
@ -0,0 +1,52 @@
|
||||
#
|
||||
# Copyright (C) 2006 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
# $Id$
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=parprouted
|
||||
PKG_VERSION:=0.63
|
||||
PKG_RELEASE:=1
|
||||
PKG_MD5SUM:=12753098a22e82997d1941d6d2284750
|
||||
|
||||
PKG_SOURCE_URL:=http://www.hazard.maks.net/parprouted/
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_CAT:=zcat
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/parprouted
|
||||
SECTION:=net
|
||||
CATEGORY:=Network
|
||||
TITLE:=Proxy ARP daemon
|
||||
DESCRIPTION:=parprouted is a daemon for transparent IP (Layer 3) proxy ARP bridging.\\\
|
||||
This is useful for creation of transparent firewalls and bridging networks\\\
|
||||
with different MAC protocols. Also, unlike standard bridging, proxy ARP\\\
|
||||
bridging allows to bridge Ethernet networks behind wireless nodes without\\\
|
||||
using WDS or layer 2 bridging.\\\
|
||||
URL:=http://www.hazard.maks.net/parprouted/
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS)" LDFLAGS="" \
|
||||
all
|
||||
endef
|
||||
|
||||
define Package/parprouted/install
|
||||
install -d -m0755 $(1)/etc/default
|
||||
install -m0755 ./files/parprouted.default $(1)/etc/default/parprouted
|
||||
install -d -m0755 $(1)/etc/init.d
|
||||
install -m0755 ./files/parprouted.init $(1)/etc/init.d/parprouted
|
||||
ln -sf parprouted $(1)/etc/init.d/S50parpouted
|
||||
install -d -m0755 $(1)/usr/sbin
|
||||
install -m0755 $(PKG_BUILD_DIR)/parprouted $(1)/usr/sbin/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,parprouted))
|
1
net/parprouted/files/parprouted.default
Executable file
1
net/parprouted/files/parprouted.default
Executable file
@ -0,0 +1 @@
|
||||
OPTIONS="$lan_ifname $wifi_ifname"
|
16
net/parprouted/files/parprouted.init
Executable file
16
net/parprouted/files/parprouted.init
Executable file
@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
BIN=parprouted
|
||||
DEFAULT=/etc/default/$BIN
|
||||
[ -f $DEFAULT ] && . $DEFAULT
|
||||
|
||||
case $1 in
|
||||
start)
|
||||
$BIN $OPTIONS
|
||||
;;
|
||||
*)
|
||||
echo "usage: $0 (start)"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit $?
|
33
net/parprouted/patches/parprouted.patch
Normal file
33
net/parprouted/patches/parprouted.patch
Normal file
@ -0,0 +1,33 @@
|
||||
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)
|
||||
do {
|
||||
pthread_testcancel();
|
||||
/* Sleep a bit in order not to overload the system */
|
||||
- usleep(300);
|
||||
+ usleep(3000);
|
||||
|
||||
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)
|
||||
|
||||
/* 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!");
|
Loading…
x
Reference in New Issue
Block a user