tools/tcpstates: fix local/remote port output
diff --git a/tools/tcpstates.py b/tools/tcpstates.py
index 9b25b09..3c78b1c 100755
--- a/tools/tcpstates.py
+++ b/tools/tcpstates.py
@@ -137,7 +137,7 @@
__builtin_memcpy(&data4.saddr, args->saddr, sizeof(data4.saddr));
__builtin_memcpy(&data4.daddr, args->daddr, sizeof(data4.daddr));
// a workaround until data4 compiles with separate lport/dport
- data4.ports = dport + ((0ULL + lport) << 32);
+ data4.ports = dport + ((0ULL + lport) << 16);
data4.pid = pid;
bpf_get_current_comm(&data4.task, sizeof(data4.task));
@@ -153,7 +153,7 @@
__builtin_memcpy(&data6.saddr, args->saddr_v6, sizeof(data6.saddr));
__builtin_memcpy(&data6.daddr, args->daddr_v6, sizeof(data6.daddr));
// a workaround until data6 compiles with separate lport/dport
- data6.ports = dport + ((0ULL + lport) << 32);
+ data6.ports = dport + ((0ULL + lport) << 16);
data6.pid = pid;
bpf_get_current_comm(&data6.task, sizeof(data6.task));
ipv6_events.perf_submit(args, &data6, sizeof(data6));
@@ -257,9 +257,9 @@
'OBJECT_COMM': event.task.decode('utf-8', 'replace'),
# Custom fields, aka "stuff we sort of made up".
'OBJECT_' + addr_pfx + '_SOURCE_ADDRESS': inet_ntop(addr_family, pack("I", event.saddr)),
- 'OBJECT_TCP_SOURCE_PORT': str(event.ports >> 32),
+ 'OBJECT_TCP_SOURCE_PORT': str(event.ports >> 16),
'OBJECT_' + addr_pfx + '_DESTINATION_ADDRESS': inet_ntop(addr_family, pack("I", event.daddr)),
- 'OBJECT_TCP_DESTINATION_PORT': str(event.ports & 0xffffffff),
+ 'OBJECT_TCP_DESTINATION_PORT': str(event.ports & 0xffff),
'OBJECT_TCP_OLD_STATE': tcpstate2str(event.oldstate),
'OBJECT_TCP_NEW_STATE': tcpstate2str(event.newstate),
'OBJECT_TCP_SPAN_TIME': str(event.span_us)
@@ -297,8 +297,8 @@
print("%-9.6f " % delta_s, end="")
print(format_string % (event.skaddr, event.pid, event.task.decode('utf-8', 'replace'),
"4" if args.wide or args.csv else "",
- inet_ntop(AF_INET, pack("I", event.saddr)), event.ports >> 32,
- inet_ntop(AF_INET, pack("I", event.daddr)), event.ports & 0xffffffff,
+ inet_ntop(AF_INET, pack("I", event.saddr)), event.ports >> 16,
+ inet_ntop(AF_INET, pack("I", event.daddr)), event.ports & 0xffff,
tcpstate2str(event.oldstate), tcpstate2str(event.newstate),
float(event.span_us) / 1000))
if args.journal:
@@ -322,8 +322,8 @@
print("%-9.6f " % delta_s, end="")
print(format_string % (event.skaddr, event.pid, event.task.decode('utf-8', 'replace'),
"6" if args.wide or args.csv else "",
- inet_ntop(AF_INET6, event.saddr), event.ports >> 32,
- inet_ntop(AF_INET6, event.daddr), event.ports & 0xffffffff,
+ inet_ntop(AF_INET6, event.saddr), event.ports >> 16,
+ inet_ntop(AF_INET6, event.daddr), event.ports & 0xffff,
tcpstate2str(event.oldstate), tcpstate2str(event.newstate),
float(event.span_us) / 1000))
if args.journal: