From 0f7c90abdf8f6e2ca1591dfc0fa9827b1a0c4543 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Thu, 18 Jan 2018 14:53:50 +0200 Subject: [PATCH] Make listen ports configurable --- bin/trapperkeeper | 20 ++++++++++++-------- conf/trapperkeeper.yaml | 11 +++++++++-- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/bin/trapperkeeper b/bin/trapperkeeper index e5c81d1..3a516fa 100755 --- a/bin/trapperkeeper +++ b/bin/trapperkeeper @@ -52,9 +52,8 @@ def main(): community = config["community"] if not community: community = None - ipv6_server = config["ipv6"] - if not ipv6_server: - ipv6_server = None + ipv4 = config.get("ipv4", True) + ipv6 = config.get("ipv6", False) Session.configure(bind=db_engine) conn = Session() @@ -71,13 +70,18 @@ def main(): transport_dispatcher = AsynsockDispatcher() transport_dispatcher.registerRecvCbFun(cb) - if ipv6_server: + if ipv6 is not False: + ipv6_addr = "::1" if ipv6 is True else ipv6 transport_dispatcher.registerTransport( - udp6.domainName, udp6.Udp6SocketTransport().openServerMode(("::1", int(config["trap_port"]))) + udp6.domainName, udp6.Udp6SocketTransport().openServerMode( + (ipv6_addr, int(config["trap_port"]))) + ) + if ipv4 is not False: + ipv4_addr = "0.0.0.0" if ipv4 is True else ipv4 + transport_dispatcher.registerTransport( + udp.domainName, udp.UdpSocketTransport().openServerMode( + (ipv4_addr, int(config["trap_port"]))) ) - transport_dispatcher.registerTransport( - udp.domainName, udp.UdpSocketTransport().openServerMode(("0.0.0.0", int(config["trap_port"]))) - ) transport_dispatcher.jobStarted(1) stats_thread = threading.Thread(target=stats_server, args=(str(config["stats_port"]),)) diff --git a/conf/trapperkeeper.yaml b/conf/trapperkeeper.yaml index 0b6012d..844509c 100644 --- a/conf/trapperkeeper.yaml +++ b/conf/trapperkeeper.yaml @@ -117,7 +117,14 @@ config: # Type: str community: null + # Listen for traps on an IPv4 address + # + # Type: bool or str (IPv4 address) + # Default: true (0.0.0.0) + #ipv4: false + # Listen for traps on an IPv6 address # - # Type: bool - ipv6: false + # Type: bool or str (IPv6 address) + # Default: false (::1 when true) + #ipv6: true