setting rx_hostname (or udp_dstip with rx_hostname not none) will always set udp_dstmac. solves problem of chaing udp_dstip and udp_dstmac stays the same (#544)

This commit is contained in:
Dhanya Thattil 2022-09-05 16:57:54 +02:00 committed by GitHub
parent 7de6f157b5
commit 76c18f3303
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 22 additions and 16 deletions

View File

@ -96,6 +96,7 @@ This document describes the differences between v7.0.0 and v6.x.x
- m3 fix for gain caps to invert where needed when loading from trimbit file (fix for feature might have been added only in developer branch) - m3 fix for gain caps to invert where needed when loading from trimbit file (fix for feature might have been added only in developer branch)
- pat loop and wait address default - pat loop and wait address default
- ctb and moench Fw fixed (to work with pattern commdand) )addreess length - ctb and moench Fw fixed (to work with pattern commdand) )addreess length
- setting rx_hostname (or udp_dstip with rx_hostname not none) will always set udp_dstmac. solves problem of chaing udp_dstip and udp_dstmac stays the same
- jungfrau reset core and usleep removed (fix for 6.1.1 is now fixed in firmware) - jungfrau reset core and usleep removed (fix for 6.1.1 is now fixed in firmware)

View File

@ -1182,6 +1182,7 @@ class Detector(CppDetectorApi):
---- ----
Not mandatory to set as udp_dstip retrieves it from slsReceiver process but must be set if you use a custom receiver (not slsReceiver). \n Not mandatory to set as udp_dstip retrieves it from slsReceiver process but must be set if you use a custom receiver (not slsReceiver). \n
To set MACs for individual modules, use setDestinationUDPMAC. To set MACs for individual modules, use setDestinationUDPMAC.
Use router mac if router between detector and receiver.
Example Example
------- -------
@ -1208,6 +1209,7 @@ class Detector(CppDetectorApi):
To set MACs for individual modules, use setDestinationUDPMAC2. \n To set MACs for individual modules, use setDestinationUDPMAC2. \n
[Jungfrau] bottom half \n [Jungfrau] bottom half \n
[Gotthard2] veto debugging \n [Gotthard2] veto debugging \n
Use router mac if router between detector and receiver.
Example Example
------ ------

View File

@ -743,7 +743,8 @@ class Detector {
/** Mac address of the receiver (destination) udp interface. Not mandatory /** Mac address of the receiver (destination) udp interface. Not mandatory
* to set as setDestinationUDPIP (udp_dstip) retrieves it from slsReceiver * to set as setDestinationUDPIP (udp_dstip) retrieves it from slsReceiver
* process but must be set if you use a custom receiver (not slsReceiver). * process but must be set if you use a custom receiver (not slsReceiver).\n
* Use router mac address if router in between detector and receiver.
*/ */
void setDestinationUDPMAC(const MacAddr mac, Positions pos = {}); void setDestinationUDPMAC(const MacAddr mac, Positions pos = {});
@ -751,10 +752,11 @@ class Detector {
Result<MacAddr> getDestinationUDPMAC2(Positions pos = {}) const; Result<MacAddr> getDestinationUDPMAC2(Positions pos = {}) const;
/* [Jungfrau][Gotthard2] Mac address of the receiver (destination) udp /* [Jungfrau][Gotthard2] Mac address of the receiver (destination) udp
interface 2. \n Not mandatory to set as udp_dstip2 retrieves it from * interface 2. \n Not mandatory to set as udp_dstip2 retrieves it from
slsReceiver process but must be set if you use a custom receiver (not * slsReceiver process but must be set if you use a custom receiver (not
slsReceiver). \n [Jungfrau] bottom half \n [Gotthard2] veto debugging \n * slsReceiver). \n [Jungfrau] bottom half \n [Gotthard2] veto debugging \n
*/ * Use router mac address if router in between detector and receiver.
*/
void setDestinationUDPMAC2(const MacAddr mac, Positions pos = {}); void setDestinationUDPMAC2(const MacAddr mac, Positions pos = {});
Result<int> getDestinationUDPPort(Positions pos = {}) const; Result<int> getDestinationUDPPort(Positions pos = {}) const;

View File

@ -1631,7 +1631,8 @@ class CmdProxy {
"[x:x:x:x:x:x]\n\tMac address of the receiver (destination) udp " "[x:x:x:x:x:x]\n\tMac address of the receiver (destination) udp "
"interface. Not mandatory to set as udp_dstip retrieves it from " "interface. Not mandatory to set as udp_dstip retrieves it from "
"slsReceiver process, but must be set if you use a custom receiver " "slsReceiver process, but must be set if you use a custom receiver "
"(not slsReceiver)."); "(not slsReceiver). Use router mac if router between detector and "
"receiver.");
INTEGER_COMMAND_VEC_ID( INTEGER_COMMAND_VEC_ID(
udp_dstmac2, getDestinationUDPMAC2, setDestinationUDPMAC2, MacAddr, udp_dstmac2, getDestinationUDPMAC2, setDestinationUDPMAC2, MacAddr,
@ -1639,8 +1640,8 @@ class CmdProxy {
"udp interface 2. Not mandatory to set as udp_dstip2 retrieves it from " "udp interface 2. Not mandatory to set as udp_dstip2 retrieves it from "
"slsReceiver process but must be set if you use a custom receiver (not " "slsReceiver process but must be set if you use a custom receiver (not "
"slsReceiver). \n\t [Jungfrau] top half or inner interface \n\t " "slsReceiver). \n\t [Jungfrau] top half or inner interface \n\t "
"[Gotthard2] veto " "[Gotthard2] veto debugging. Use router mac if router between detector "
"debugging."); "and receiver.");
INTEGER_COMMAND_VEC_ID_GET( INTEGER_COMMAND_VEC_ID_GET(
udp_dstport, getDestinationUDPPort, setDestinationUDPPort, udp_dstport, getDestinationUDPPort, setDestinationUDPPort,

View File

@ -1320,16 +1320,16 @@ void Module::setReceiverHostname(const std::string &receiverIP) {
MacAddr retvals[2]; MacAddr retvals[2];
sendToReceiver(F_SETUP_RECEIVER, retval, retvals); sendToReceiver(F_SETUP_RECEIVER, retval, retvals);
// update Modules with dest mac // update Modules with dest mac
if (retval.udp_dstmac == 0 && retvals[0] != 0) { if (retvals[0] != 0) {
LOG(logINFO) << "Setting destination udp mac of " LOG(logINFO) << "Setting destination udp mac of Module " << moduleIndex
"Module " << " to " << retvals[0]
<< moduleIndex << " to " << retvals[0]; << ". Use udp_dstmac for custom mac.";
sendToDetector(F_SET_DEST_UDP_MAC, retvals[0], nullptr); sendToDetector(F_SET_DEST_UDP_MAC, retvals[0], nullptr);
} }
if (retval.udp_dstmac2 == 0 && retvals[1] != 0) { if (retvals[1] != 0) {
LOG(logINFO) << "Setting destination udp mac2 of " LOG(logINFO) << "Setting destination udp mac2 of Module " << moduleIndex
"Module " << " to " << retvals[1]
<< moduleIndex << " to " << retvals[1]; << ". Use udp_dstmac2 for custom mac.";
sendToDetector(F_SET_DEST_UDP_MAC2, retvals[1], nullptr); sendToDetector(F_SET_DEST_UDP_MAC2, retvals[1], nullptr);
} }