Add support for IP over ATM
SVN-Revision: 8782
This commit is contained in:
		| @@ -29,6 +29,18 @@ define Package/linux-atm/description | |||||||
|   This package contains a library for accessing the Linux ATM subsystem. |   This package contains a library for accessing the Linux ATM subsystem. | ||||||
| endef | endef | ||||||
|  |  | ||||||
|  | define Package/atm-tools | ||||||
|  |   SECTION:=net | ||||||
|  |   CATEGORY:=Network | ||||||
|  |   DEPENDS:=linux-atm | ||||||
|  |   TITLE:=Linux ATM tools | ||||||
|  |   URL:=http://linux-atm.sourceforge.net/ | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define Package/atm-tools/description | ||||||
|  |   This package contains the Linux ATM tools. | ||||||
|  | endef | ||||||
|  |  | ||||||
| define Build/Configure | define Build/Configure | ||||||
| 	$(call Build/Configure/Default) | 	$(call Build/Configure/Default) | ||||||
| 	# prevent autoheader invocation | 	# prevent autoheader invocation | ||||||
| @@ -62,4 +74,12 @@ define Package/linux-atm/install | |||||||
| 	cp -f $(PKG_INSTALL_DIR)/usr/lib/libatm.so.1 $(1)/usr/lib | 	cp -f $(PKG_INSTALL_DIR)/usr/lib/libatm.so.1 $(1)/usr/lib | ||||||
| endef | endef | ||||||
|  |  | ||||||
|  | define Package/atm-tools/install | ||||||
|  | 	$(INSTALL_DIR) $(1)/usr/sbin/ | ||||||
|  | 	$(CP) $(PKG_INSTALL_DIR)/usr/sbin/atmarp{,d} $(1)/usr/sbin/ | ||||||
|  | 	$(INSTALL_DIR) $(1)/lib/network | ||||||
|  | 	$(INSTALL_BIN) ./files/ipoa.sh $(1)/lib/network/ | ||||||
|  | endef | ||||||
|  |  | ||||||
| $(eval $(call BuildPackage,linux-atm)) | $(eval $(call BuildPackage,linux-atm)) | ||||||
|  | $(eval $(call BuildPackage,atm-tools)) | ||||||
|   | |||||||
							
								
								
									
										34
									
								
								package/linux-atm/files/ipoa.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								package/linux-atm/files/ipoa.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | |||||||
|  | scan_ipoa() { | ||||||
|  | 	config_get ifname "$1" ifname | ||||||
|  | 	ipoadev="${ipoadev:-0}" | ||||||
|  | 	config_get unit "$1" unit | ||||||
|  | 	[ -z "$unit" ] && { | ||||||
|  | 		config_set "$1" ifname "atm$ipoadev" | ||||||
|  | 		config_set "$1" unit "$ipoadev" | ||||||
|  | 		ipoadev="$(($ipoadev + 1))" | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | setup_interface_ipoa() { | ||||||
|  | 	local iface="$1" | ||||||
|  | 	local config="$2" | ||||||
|  | 	 | ||||||
|  | 	config_get device "$config" device | ||||||
|  | 	config_get vpi "$config" vpi | ||||||
|  | 	vpi=${vpi:-8} | ||||||
|  | 	config_get vci "$config" vci | ||||||
|  | 	vci=${vci:-36} | ||||||
|  |  | ||||||
|  | 	config_get encaps "$config" encaps | ||||||
|  | 	case "$encaps" in | ||||||
|  | 		1|vc) ENCAPS="vc-encaps" ;; | ||||||
|  | 		*) ENCAPS="llc-encaps" ;; | ||||||
|  | 	esac | ||||||
|  |  | ||||||
|  | 	config_get mtu "$cfg" mtu | ||||||
|  | 	mtu=${mtu:-1500} | ||||||
|  | 	atmarp -c $device | ||||||
|  | 	ifconfig $device $ip netmask $mask mtu $mtu up | ||||||
|  | 	atmarp -s $gw $vpi.$vci null | ||||||
|  | 	route add default gw $gw | ||||||
|  | } | ||||||
							
								
								
									
										49
									
								
								package/linux-atm/patches/500-reenable_arpd.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								package/linux-atm/patches/500-reenable_arpd.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,49 @@ | |||||||
|  | diff -urN linux-atm-2.4.1/configure linux-atm-2.4.1.new/configure | ||||||
|  | --- linux-atm-2.4.1/configure	2007-09-15 21:07:25.000000000 +0200 | ||||||
|  | +++ linux-atm-2.4.1.new/configure	2007-09-15 22:07:22.000000000 +0200 | ||||||
|  | @@ -8825,7 +8825,7 @@ | ||||||
|  |  fi; | ||||||
|  |   | ||||||
|  |   | ||||||
|  | -                                                                      ac_config_files="$ac_config_files Makefile doc/Makefile m4/Makefile src/Makefile src/include/Makefile src/lib/Makefile" | ||||||
|  | +                                                                      ac_config_files="$ac_config_files Makefile doc/Makefile m4/Makefile src/Makefile src/include/Makefile src/lib/Makefile src/arpd/Makefile" | ||||||
|  |  cat >confcache <<\_ACEOF | ||||||
|  |  # This file is a shell script that caches the results of configure | ||||||
|  |  # tests run on this system so they can be shared between configure | ||||||
|  | @@ -9367,6 +9367,7 @@ | ||||||
|  |    "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; | ||||||
|  |    "src/include/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/include/Makefile" ;; | ||||||
|  |    "src/lib/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/lib/Makefile" ;; | ||||||
|  | +  "src/arpd/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/arpd/Makefile" ;; | ||||||
|  |    "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; | ||||||
|  |    "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; | ||||||
|  |    *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 | ||||||
|  | diff -urN linux-atm-2.4.1/configure.in linux-atm-2.4.1.new/configure.in | ||||||
|  | --- linux-atm-2.4.1/configure.in	2007-09-15 21:07:13.000000000 +0200 | ||||||
|  | +++ linux-atm-2.4.1.new/configure.in	2007-09-15 21:08:16.000000000 +0200 | ||||||
|  | @@ -153,5 +153,6 @@ | ||||||
|  |  		src/Makefile \ | ||||||
|  |  		src/include/Makefile \ | ||||||
|  |  		src/lib/Makefile \ | ||||||
|  | +		src/arpd/Makefile \ | ||||||
|  |  		) | ||||||
|  |   | ||||||
|  | diff -urN linux-atm-2.4.1/src/Makefile.am linux-atm-2.4.1.new/src/Makefile.am | ||||||
|  | --- linux-atm-2.4.1/src/Makefile.am	2007-09-15 21:07:13.000000000 +0200 | ||||||
|  | +++ linux-atm-2.4.1.new/src/Makefile.am	2007-09-15 21:08:27.000000000 +0200 | ||||||
|  | @@ -1,2 +1,2 @@ | ||||||
|  | -SUBDIRS = include lib | ||||||
|  | +SUBDIRS = include lib arpd | ||||||
|  |   | ||||||
|  | diff -urN linux-atm-2.4.1/src/Makefile.in linux-atm-2.4.1.new/src/Makefile.in | ||||||
|  | --- linux-atm-2.4.1/src/Makefile.in	2007-09-15 21:07:25.000000000 +0200 | ||||||
|  | +++ linux-atm-2.4.1.new/src/Makefile.in	2007-09-15 22:10:03.000000000 +0200 | ||||||
|  | @@ -96,7 +96,7 @@ | ||||||
|  |  VERSION = @VERSION@ | ||||||
|  |  YACC = @YACC@ | ||||||
|  |   | ||||||
|  | -SUBDIRS = include lib | ||||||
|  | +SUBDIRS = include lib arpd | ||||||
|  |  mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | ||||||
|  |  CONFIG_HEADER = ../config.h | ||||||
|  |  CONFIG_CLEAN_FILES =  | ||||||
							
								
								
									
										45
									
								
								package/linux-atm/patches/600-arpd_includes.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								package/linux-atm/patches/600-arpd_includes.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,45 @@ | |||||||
|  | diff -Nru linux-atm-2.4.1.orig/src/arpd/io.c linux-atm-2.4.1/src/arpd/io.c | ||||||
|  | --- linux-atm-2.4.1.orig/src/arpd/io.c  2001-09-03 21:41:05.000000000 +0300 | ||||||
|  | +++ linux-atm-2.4.1/src/arpd/io.c       2007-04-14 18:30:54.000000000 +0300 | ||||||
|  | @@ -16,7 +16,7 @@ | ||||||
|  |  #include <sys/types.h> | ||||||
|  |  #include <sys/socket.h> | ||||||
|  |  #include <sys/ioctl.h> | ||||||
|  | -#include <net/if.h> | ||||||
|  | +#include <linux/if.h> | ||||||
|  |  #include <netinet/in.h> | ||||||
|  |  #include <atm.h> | ||||||
|  |  #include <linux/atmclip.h> /* for CLIP_DEFAULT_IDLETIMER */ | ||||||
|  | diff -urN linux-atm-2.4.1/src/arpd/arp.c linux-atm-2.4.1.new/src/arpd/arp.c | ||||||
|  | --- linux-atm-2.4.1/src/arpd/arp.c	2001-09-03 20:41:05.000000000 +0200 | ||||||
|  | +++ linux-atm-2.4.1.new/src/arpd/arp.c	2007-09-15 22:15:05.000000000 +0200 | ||||||
|  | @@ -15,7 +15,6 @@ | ||||||
|  |  #include <sys/types.h> | ||||||
|  |  #include <sys/socket.h> /* for linux/if_arp.h */ | ||||||
|  |  #include <netinet/in.h> /* for ntohs, etc. */ | ||||||
|  | -#define _LINUX_NETDEVICE_H /* very crude hack for glibc2 */ | ||||||
|  |  #include <linux/if_arp.h> | ||||||
|  |  #include <linux/if_ether.h> | ||||||
|  |  #include <atm.h> | ||||||
|  | diff -urN linux-atm-2.4.1/src/arpd/io.c linux-atm-2.4.1.new/src/arpd/io.c | ||||||
|  | --- linux-atm-2.4.1/src/arpd/io.c	2001-09-03 20:41:05.000000000 +0200 | ||||||
|  | +++ linux-atm-2.4.1.new/src/arpd/io.c	2007-09-15 22:15:05.000000000 +0200 | ||||||
|  | @@ -21,7 +21,6 @@ | ||||||
|  |  #include <atm.h> | ||||||
|  |  #include <linux/atmclip.h> /* for CLIP_DEFAULT_IDLETIMER */ | ||||||
|  |  #include <linux/atmarp.h> | ||||||
|  | -#define _LINUX_NETDEVICE_H /* glibc2 */ | ||||||
|  |  #include <linux/if_arp.h> | ||||||
|  |   | ||||||
|  |  #include "atmd.h" | ||||||
|  | diff -urN linux-atm-2.4.1/src/arpd/itf.c linux-atm-2.4.1.new/src/arpd/itf.c | ||||||
|  | --- linux-atm-2.4.1/src/arpd/itf.c	2001-09-03 20:41:05.000000000 +0200 | ||||||
|  | +++ linux-atm-2.4.1.new/src/arpd/itf.c	2007-09-15 22:15:05.000000000 +0200 | ||||||
|  | @@ -12,7 +12,6 @@ | ||||||
|  |  #include <sys/types.h> | ||||||
|  |  #include <linux/atmclip.h> | ||||||
|  |  #include <sys/socket.h> | ||||||
|  | -#define _LINUX_NETDEVICE_H /* glibc2 */ | ||||||
|  |  #include <linux/if_arp.h> | ||||||
|  |   | ||||||
|  |  #include "atmd.h" | ||||||
		Reference in New Issue
	
	Block a user
	 Florian Fainelli
					Florian Fainelli