setfib with mpd - ifconfig on p-t-p link trouble
Julian Elischer
julian at elischer.org
Sat Jun 28 22:18:20 UTC 2008
serg vasilyev wrote:
> Hi !
> there's must be a restriction in ifconfig or in kernel that preventing from
> adding a multiple p-t-p interface with same destination address.
> i'm trying to build a test system with setfib and multiple mpd instances
> which are creating PPPoE connection to same destination gateway and run into
> problem with second p-t-p interface.
> mpd did not add an IP and gateway for it
this is a misunderstanding of what setfib does.
You can only have one point to poitn interface with the same
destination address.
Having multiple routing tables does not automatically make it
possible to have tow tunnels to the same place,
(though theoretically maultipath routing might make this possible)
because you still need to specify the remote address to specify
the route's action. If you have multiple p2p links with the same
remote address, you cannot specify which interface to use for a
particular route.
>
> setfib 1 mpd1 -p /tmp/mpd1.pid -f mpd1.conf
> sleep 2
> setfib 2 mpd2 -p /tmp/mpd2.pid -f mpd2.conf
>
> on a first interface ng0 i have both src ip and dst ip but on second i have
> nothing
>
> # ifconfig ng0
> ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1492
> inet x.x.x.x --> y.y.y.y netmask 0xffffffff
> # ifconfig ng1
> ng1: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1492
>
> when i try to add ip's personally
> # ifconfig ng1 z.z.z.z y.y.y.y
> ifconfig: ioctl (SIOCAIFADDR) File exist
>
> How to remove the given restriction on an ifconfig or kernel or something
> else
> P.S. Sorry for my english...
you MAY be able to manually remove the link addresses from both
routing tables after adding the first p2p link,
and then add the second interface, and then
remove the link address from the first fib,
and add back the first link route from the first p3p link to teh first
FIB.
but I have not tested this.
currently, adding an interface addres teh link layer route to ALL
fibs, leaving it up to the admin to remove them from the fibs he does
not want them in. This was a decision I took but the other option
would have been to add it to only the 'current' fib, which would have
been even more disruptive.
ok I tested this with gre tunnels:
ifconfig gre0 create
ifconfig gre1 create
ifconfig gre0 1.1.1.1 2.2.2.2
# remove conflicting routes
setfib -0 route delete 2.2.2.2
setfib -1 route delete 2.2.2.2
#now set up the second link
ifconfig gre1 3.3.3.3 2.2.2.2
# and remove the rotue we don't want
setfib -0 route delete 2.2.2.2
# and replace it with the one we DO want,
# (or one that is equivalent)
setfib -0 route add 2.2.2.2 -iface gre0
wsa05:rjulian 34] ifconfig
[...]
gre0: flags=9011<UP,POINTOPOINT,LINK0,MULTICAST> mtu 1476
inet 1.1.1.1 --> 2.2.2.2 netmask 0xff000000
gre1: flags=9011<UP,POINTOPOINT,LINK0,MULTICAST> mtu 1476
inet 3.3.3.3 --> 2.2.2.2 netmask 0xff000000
wsa05:rjulian 35] setfib -0 netstat -rn
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif
[...]
2.2.2.2 3.3.3.3 UH 0 0 gre1
[...]
wsa05:rjulian 36] setfib -1 netstat -rn
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif
[...]
2.2.2.2 gre0 UGHS 0 0 gre0
[...]
wsa05:rjulian 37]
which would do what you want.
now to make mpd know how to do that :-)
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
More information about the freebsd-net
mailing list