Skip to content

Commit

Permalink
enh(core): add ipv6 support (#118)
Browse files Browse the repository at this point in the history
  • Loading branch information
garnier-quentin committed Jun 4, 2021
1 parent 2d8f371 commit 787d18d
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 2 deletions.
6 changes: 4 additions & 2 deletions centreon-gorgone/gorgone/class/clientzmq.pm
Original file line number Diff line number Diff line change
Expand Up @@ -98,10 +98,12 @@ sub init {

$self->{handshake} = 0;
$sockets->{$self->{identity}} = gorgone::standard::library::connect_com(
zmq_type => 'ZMQ_DEALER', name => $self->{identity} . '-' . $self->{extra_identity},
zmq_type => 'ZMQ_DEALER',
name => $self->{identity} . '-' . $self->{extra_identity},
logger => $self->{logger},
type => $self->{target_type},
path => $self->{target_path}
path => $self->{target_path},
zmq_ipv6 => $self->{config_core}->{ipv6}
);
$callbacks->{$self->{identity}} = $options{callback} if (defined($options{callback}));
}
Expand Down
1 change: 1 addition & 0 deletions centreon-gorgone/gorgone/class/core.pm
Original file line number Diff line number Diff line change
Expand Up @@ -805,6 +805,7 @@ sub run {
zmq_type => 'ZMQ_ROUTER',
zmq_router_handover => $gorgone->{config}->{configuration}->{gorgone}->{gorgonecore}->{external_com_zmq_router_handover},
zmq_tcp_keepalive => $gorgone->{config}->{configuration}->{gorgone}->{gorgonecore}->{external_com_zmq_tcp_keepalive},
zmq_ipv6 => $gorgone->{config}->{configuration}->{gorgone}->{gorgonecore}->{ipv6},
name => 'router-external',
logger => $gorgone->{logger}
);
Expand Down
5 changes: 5 additions & 0 deletions centreon-gorgone/gorgone/standard/library.pm
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ our $listener;
my %zmq_type = ('ZMQ_ROUTER' => ZMQ_ROUTER, 'ZMQ_DEALER' => ZMQ_DEALER);
my $ZMQ_CONNECT_TIMEOUT = 79;
my $ZMQ_ROUTER_HANDOVER = 56;
my $ZMQ_IPV6 = 42;
my $ZMQ_TCP_KEEPALIVE = 34;

sub read_config {
Expand Down Expand Up @@ -739,6 +740,9 @@ sub connect_com {
zmq_setsockopt($socket, ZMQ_RECONNECT_IVL, 1000);
ZMQ::LibZMQ4::zmq_setsockopt_int($socket, $ZMQ_CONNECT_TIMEOUT, defined($options{zmq_connect_timeout}) ? $options{zmq_connect_timeout} : 30000);
ZMQ::LibZMQ4::zmq_setsockopt_int($socket, $ZMQ_ROUTER_HANDOVER, defined($options{zmq_router_handover}) ? $options{zmq_router_handover} : 1);
if ($options{type} eq 'tcp') {
ZMQ::LibZMQ4::zmq_setsockopt_int($socket, $ZMQ_IPV6, defined($options{zmq_ipv6}) && $options{zmq_ipv6} =~ /true|1/i ? 1 : 0);
}
zmq_connect($socket, $options{type} . '://' . $options{path});
return $socket;
}
Expand All @@ -757,6 +761,7 @@ sub create_com {
zmq_setsockopt($socket, ZMQ_LINGER, 0); # we discard
ZMQ::LibZMQ4::zmq_setsockopt_int($socket, $ZMQ_ROUTER_HANDOVER, defined($options{zmq_router_handover}) ? $options{zmq_router_handover} : 1);
if ($options{type} eq 'tcp') {
ZMQ::LibZMQ4::zmq_setsockopt_int($socket, $ZMQ_IPV6, defined($options{zmq_ipv6}) && $options{zmq_ipv6} =~ /true|1/i ? 1 : 0);
ZMQ::LibZMQ4::zmq_setsockopt_int($socket, $ZMQ_TCP_KEEPALIVE, defined($options{zmq_tcp_keepalive}) ? $options{zmq_tcp_keepalive} : -1);
zmq_bind($socket, 'tcp://' . $options{path});
} elsif ($options{type} eq 'ipc') {
Expand Down

0 comments on commit 787d18d

Please sign in to comment.