Hello,
by default the kernel will choose the first IP address building the IP header, that's correct. But imho the programmer is able to set explicitly the source IP address by choosing i.e. the IP_HDRCINCL option. So he is able to set the values he want to use due to now he is responsible creating the IP header(and not the kernel). Especially due to the fact that we use a raw socket in sctplib.
I expected that the sctplib has to do so. On the receiving side the destination address is retrieved I saw. So is it possible to implement setting of the source address for send events?
Best regards,
DTepelmann
Andreas Jungmaier <ajung AT exp-math.uni-essen.de> schrieb am 13.05.04 11:21:46:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Mittwoch, 12. Mai 2004 20:57, you wrote:
Hi,
I got to a point where I'm get confused. Hope you can help.
I have adjust a second IP address for eth0 in
/etc/sysconfig/network/ifcfg-eth0: ...
BROADCAST='192.168.89.255'
IPADDR='192.168.89.84'
NETMASK='255.255.255.0'
IPADDR2='192.168.89.22'
NETMASK2='255.255.255.0'
NETWORK='192.168.89.0'
So I'm able to connect to my machine with 192.168.89.84 or with
192.168.89.22. It's working fine. Reason of this was to test several SCTP
association between 2 SCTP instances on to different machines. But I got in
trouble. All packets(INIT's) send to x.x.x.22 will replied via x.x.x.84,
which causes an SCTP Abort at the initiator side. This behaviour can easyly
reproduced with mini_ulp(./mulp -s 192.168.89.70 -l 10002 -d 192.168.89.22
-r 7) vs. echo_server(./echo_server -s 192.168.89.22 -V).
How is it handled in sctplib, or is it a bug? Something wrong on my side?
How it's possible to handle more than one local address?
This is a known problem with multiple addresses that the linux kernel
assigns to one interface. ALL outgoing packets usually have as source
address the main (or first) configured IP address.
You can only avoid problems, if you list all local addresses, or specify
"-s 0.0.0.0" so that all local addresses are contained in the outgoing INIT
and INIT-ACK chunks (this is the logical address INADDR_ANY).
So: more than one local address is not a problem....also you can try to
activate IPv6 by doing "modprobe ipv6" as root.
Then recompile the library, and have fun playing with IPv6...
Andreas
- --
Dipl.-Ing. Andreas Jungmaier
Computer Networking Technology Group
University of Duisburg-Essen
http://www.exp-math.uni-essen.de/~ajung
PGP Key-ID: D382 4AC0
PGP Key-Fingerprint: 228C 7C2C 3381 2DD4 9998 2812 5C0B 0B04 D382 4AC0
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
iD8DBQFAoz2uXAsLBNOCSsARAlmhAJ9tempLBT6geUPNyVJa5J/YnfVUSgCeNXe8
SwUONophOWMdrxgdg748q60=
=MzRI
-----END PGP SIGNATURE-----
_____________________________________________________________________
Der WEB.DE Virenschutz schuetzt Ihr Postfach vor dem Wurm Netsky.A-P!
Kostenfrei fuer alle FreeMail Nutzer. http://f.web.de/?mc=021157
_______________________________________________
discussion mailing list
discussion AT sctp.de
http://www.sctp.de/mailman/listinfo/discussion
Archive powered by MHonArc 2.6.19+.