5.7.2. Bridging/Routing
James wrote: " ... there is a much better way of doing the bridging
which is routing. This is entirely user land and requires no kernel
patches.
But the IrLAN protocol is no longer maintained
by the Linux/IrDA core team.
It's in two parts (you may only need one your milage may vary...) the
first called irdaipcfg does the following:
1) First part is executed as irdaipcfg ifeth ifirlan daemonizes, then
looks for ARP packets on ifirlan, checks that the arp was not
generated by the machine on which it is running. The arp contains the
ip address of the machine on the other end of the irlan (it was
generated by the gratuatous arp in the irlan code). The program then
sets up a host route to this ip address via ifirlan, adds a proxy arp
to ifeth for it and generates a gratuatous arp on ifeth. It writes the
ip address of the client in /var/run/host.ifirlan so you can easily
undo all of this from a script.
2) Second part is executed as gratarp ifirlan. Sometimes the
gratuatous arp seems to get lost in the pipe work, gratarp daemonizes
and spits out a whole stream of the things...
I use them as follows: (you can use them to do whatever you like)
On my host (the machine bolted to my local net) irlanx is brought up
as 10.192.0.1 with a netmask of 255.255.255.255 and a broadcast of
10.192.0.1 by my ifup script from /etc/irda/network by irattach.
/etc/irda/network then runs irdaipcfg eth0 irlanx and this does the
routing.
From /etc/irda/network
"start")
echo 1 >/proc/sys/net/ipv4/conf/all/forwarding
./ifup ifcfg-${device}
/sbin/irdaipcfg ${localnet} ${device}
;;
"stop")
host=`cat /var/run/host.${device}`
if [ .$host != . ]; then
/sbin/arp -d ${host} dev ${localnet}
/sbin/route delete ${host} dev ${device}
fi
./ifdown ifcfg-${device}
/sbin/ifconfig ${device} down
;;
|
on the client I set up IrLAN to use an address on my normal subnet
10.32.32.51 but with netmask 255.255.255.255 (not my usual netmask) I
have some static routes which are host 10.192.0.1 dev irlan, and net
default gw 10.192.0.1 dev irlan. I run gratarp from the
/etc/irda/network, and I can wander arround my house and not lose
telnet and ssh sessions ..."
5.7.3. IPv6
As far as I know IPv6 has neighbor discovery mechanism, but I don't have
information about Linux/IrDA used with IPv6. Please see the mailing
list archive for a discussion of this topic under the subject
:"patch-2.2.7-ac1-irda4".