misc: Add the --listener-loopback-only command line option.

This option invokes the Listener::loopbackOnly() static function which
will make the port listeners bind to the loopback device exclusively and
ignore connections on other devices. That prevents external agents like
port scanners from disrupting simulations with spurious connections.

Change-Id: I46b22165046792a6f970826c109bdbce7db25c84
Reviewed-on: https://gem5-review.googlesource.com/3082
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
This commit is contained in:
Gabe Black
2017-05-05 16:53:42 -07:00
parent 2d5296ce19
commit 8b45365560

View File

@@ -85,6 +85,9 @@ def parse_options():
choices=listener_modes, default="auto",
help="Port (e.g., gdb) listener mode (auto: Enable if running " \
"interactively) [Default: %default]")
option("--listener-loopback-only", action="store_true", default=False,
help="Port listeners will only accept connections over the " \
"loopback device")
option('-i', "--interactive", action="store_true", default=False,
help="Invoke the interactive interpreter after running the script")
option("--pdb", action="store_true", default=False,
@@ -352,6 +355,9 @@ def main(*args):
else:
panic("Unhandled listener mode: %s" % options.listener_mode)
if options.listener_loopback_only:
m5.listenersLoopbackOnly()
# set debugging options
debug.setRemoteGDBPort(options.remote_gdb_port)
for when in options.debug_break: