add IPv6 support for xlxd-2.5.x#205
Conversation
GetAddr(), GetPort() and SetPort() in cip.h now has no implementations, they will be moved at cip.cpp.
original cip.h handles raw value from struct sockaddr_in/sockaddr_in6. this code follows this, but they should use network byte converter like ntohs().
Please consider not only Apple but also all other *BSDs.
|
"Is there any reason to use MAC address? What is this address works in Yaesu IMRS protocol?? Simply using 48bit number is not enough???" |
|
@LX3JL There is no difficult thing that the XLX server has single network interface. But if it has multiple network interface, should I have to return pong packet with MAC address of interface that received ping packet? This is my question. I do not have any information of IMRS. But looking the screenshot at http://www.ve7ed.com/imrs_setup.html, I think MAC address is used to help searching repeater-server (not for networking). Of course there is no evidence... If the guess is true, the usage of MAC address is not important. Simply get one from representave-network-interface-in-system and use for all interfaces. 48bit-value can store 6byte-ASCII string, using callsign will be an idea. |
|
I don't know either. I don't have any more information than you on IMRS protocol specifications. |
|
Sorry, I do not have DR-2X device, and I do not know the person who have one. |
|
here is the candidate, simply pong packet has MAC address of the interface that received ping packet. |
|
move to #240 |
This is reconstruction of PR #122, #162 and #189.
cimrsprotocol.cpp needs to be changed, but not yet.
reason: Is there any reason to use MAC address? What is this address works in Yaesu IMRS protocol?? Simply using 48bit number is not enough???
issue #204: SetPort()/GetPort() does not use htons()/ntohs() is not fixed yet.
original xlxd-2.5.x (no IPv6 edition)'s CReflector::UpdateListenMac() for linux looks delete[] ifname forgotten. I rewrite this more portable and simple.