Commit d8d5a627 authored by Martin Sustrik's avatar Martin Sustrik

Duplicate initialisation of PGM_MULTICAST_HOPS removed

Signed-off-by: 's avatarMartin Sustrik <sustrik@250bpm.com>
parent 5d0cffc5
...@@ -169,30 +169,24 @@ int zmq::pgm_socket_t::init (bool udp_encapsulation_, const char *network_) ...@@ -169,30 +169,24 @@ int zmq::pgm_socket_t::init (bool udp_encapsulation_, const char *network_)
} }
{ {
// Propagate various socket options to the OpenPGM layer. const int rcvbuf = (int) options.rcvbuf;
const int rcvbuf = (int) options.rcvbuf; if (rcvbuf) {
if (rcvbuf) { if (!pgm_setsockopt (sock, SOL_SOCKET, SO_RCVBUF, &rcvbuf,
if (!pgm_setsockopt (sock, SOL_SOCKET, SO_RCVBUF, &rcvbuf, sizeof (rcvbuf)))
sizeof (rcvbuf))) goto err_abort;
goto err_abort; }
}
const int sndbuf = (int) options.sndbuf;
const int sndbuf = (int) options.sndbuf; if (sndbuf) {
if (sndbuf) { if (!pgm_setsockopt (sock, SOL_SOCKET, SO_SNDBUF, &sndbuf,
if (!pgm_setsockopt (sock, SOL_SOCKET, SO_SNDBUF, &sndbuf, sizeof (sndbuf)))
sizeof (sndbuf))) goto err_abort;
goto err_abort; }
}
const int max_tpdu = (int) pgm_max_tpdu;
const int max_tpdu = (int) pgm_max_tpdu; if (!pgm_setsockopt (sock, IPPROTO_PGM, PGM_MTU, &max_tpdu,
if (!pgm_setsockopt (sock, IPPROTO_PGM, PGM_MTU, &max_tpdu, sizeof (max_tpdu)))
sizeof (max_tpdu))) goto err_abort;
goto err_abort;
const int multicast_hops = (int) options.multicast_hops;
if (!pgm_setsockopt (sock, IPPROTO_PGM, PGM_MULTICAST_HOPS,
&multicast_hops, sizeof (int)))
goto err_abort;
} }
if (receiver) { if (receiver) {
...@@ -317,24 +311,26 @@ int zmq::pgm_socket_t::init (bool udp_encapsulation_, const char *network_) ...@@ -317,24 +311,26 @@ int zmq::pgm_socket_t::init (bool udp_encapsulation_, const char *network_)
// Set IP level parameters. // Set IP level parameters.
{ {
const int nonblocking = 1, const int multicast_loop = 0;
multicast_loop = 0, if (!pgm_setsockopt (sock, IPPROTO_PGM, PGM_MULTICAST_LOOP,
multicast_hops = 16, &multicast_loop, sizeof (multicast_loop)))
goto err_abort;
// Expedited Forwarding PHB for network elements, no ECN.
dscp = 0x2e << 2; const int multicast_hops = options.multicast_hops;
if (!pgm_setsockopt (sock, IPPROTO_PGM, PGM_MULTICAST_HOPS,
if (!pgm_setsockopt (sock, IPPROTO_PGM, PGM_MULTICAST_LOOP, &multicast_hops, sizeof (multicast_hops)))
&multicast_loop, sizeof (multicast_loop)) || goto err_abort;
!pgm_setsockopt (sock, IPPROTO_PGM, PGM_MULTICAST_HOPS,
&multicast_hops, sizeof (multicast_hops))) // Expedited Forwarding PHB for network elements, no ECN.
goto err_abort; const int dscp = 0x2e << 2;
if (AF_INET6 != sa_family && !pgm_setsockopt (sock, if (AF_INET6 != sa_family && !pgm_setsockopt (sock,
IPPROTO_PGM, PGM_TOS, &dscp, sizeof (dscp))) IPPROTO_PGM, PGM_TOS, &dscp, sizeof (dscp)))
goto err_abort; goto err_abort;
if (!pgm_setsockopt (sock, IPPROTO_PGM, PGM_NOBLOCK,
&nonblocking, sizeof (nonblocking))) const int nonblocking = 1;
goto err_abort; if (!pgm_setsockopt (sock, IPPROTO_PGM, PGM_NOBLOCK,
&nonblocking, sizeof (nonblocking)))
goto err_abort;
} }
// Connect PGM transport to start state machine. // Connect PGM transport to start state machine.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment