Skip to content

Instantly share code, notes, and snippets.

@actaeon
Created June 18, 2018 02:52
Show Gist options
  • Save actaeon/9afd05f32984a0097b0f2ff57b61b97a to your computer and use it in GitHub Desktop.
Save actaeon/9afd05f32984a0097b0f2ff57b61b97a to your computer and use it in GitHub Desktop.
(gdb) file /usr/local/src/katran/build/katran/lib/testing/katran_tester
Reading symbols from /usr/local/src/katran/build/katran/lib/testing/katran_tester...done.
(gdb) break KatranLb.cpp:692
Breakpoint 1 at 0x13fef3: file /usr/local/src/katran/katran/lib/KatranLb.cpp, line 692.
(gdb) run -balancer_prog /usr/local/src/katran/deps/linux/bpfprog/bpf/balancer_kern.o -test_from_fixtures=true
Starting program: /usr/local/src/katran/build/katran/lib/testing/katran_tester -balancer_prog /usr/local/src/katran/deps/linux/bpfprog/bpf/balancer_kern.o -test_from_fixtures=true
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
E0618 02:50:16.008754 36409 BpfLoader.cpp:160] Can't read section size for index: 2
I0618 02:50:16.008818 36409 BpfLoader.cpp:434] Skipping section: 2 of file: /usr/local/src/katran/deps/linux/bpfprog/bpf/balancer_kern.o
I0618 02:50:16.045065 36409 BpfLoader.cpp:353] relocation for non existing prog w/ idx 10
I0618 02:50:16.045121 36409 BpfLoader.cpp:353] relocation for non existing prog w/ idx 14
I0618 02:50:16.045126 36409 BpfLoader.cpp:353] relocation for non existing prog w/ idx 16
I0618 02:50:16.045130 36409 BpfLoader.cpp:353] relocation for non existing prog w/ idx 18
I0618 02:50:16.045132 36409 BpfLoader.cpp:353] relocation for non existing prog w/ idx 20
I0618 02:50:16.053937 36409 KatranLb.cpp:394] adding new vip: 10.200.1.1:80:17
I0618 02:50:16.139011 36409 KatranLb.cpp:394] adding new vip: 10.200.1.1:80:6
I0618 02:50:16.222306 36409 KatranLb.cpp:394] adding new vip: 10.200.1.2:0:6
I0618 02:50:16.306056 36409 KatranLb.cpp:394] adding new vip: 10.200.1.4:0:6
I0618 02:50:16.391896 36409 KatranLb.cpp:459] modyfing vip: 10.200.1.4:0:6
I0618 02:50:16.391966 36409 KatranLb.cpp:394] adding new vip: 10.200.1.3:80:6
I0618 02:50:16.478963 36409 KatranLb.cpp:394] adding new vip: fc00:1::1:80:6
I0618 02:50:16.561550 36409 KatranLb.cpp:394] adding new vip: 10.200.1.5:443:17
I0618 02:50:16.561753 36409 KatranLb.cpp:459] modyfing vip: 10.200.1.5:443:17
I0618 02:50:16.645079 36409 KatranLb.cpp:394] adding new vip: fc00:1::2:443:17
I0618 02:50:16.645277 36409 KatranLb.cpp:459] modyfing vip: fc00:1::2:443:17
I0618 02:50:16.727190 36409 XdpTester.cpp:166] Test: packet to UDP based v4 VIP (and v4 real)                     result: Passed
I0618 02:50:16.727284 36409 XdpTester.cpp:166] Test: packet to TCP based v4 VIP (and v4 real)                     result: Passed
I0618 02:50:16.727324 36409 XdpTester.cpp:166] Test: packet to TCP based v4 VIP (and v4 real; any dst ports).     result: Passed
I0618 02:50:16.727412 36409 XdpTester.cpp:166] Test: packet to TCP based v4 VIP (and v6 real)                     result: Passed
I0618 02:50:16.727516 36409 XdpTester.cpp:166] Test: packet to TCP based v6 VIP (and v6 real)                     result: Passed
I0618 02:50:16.727563 36409 XdpTester.cpp:166] Test: v4 ICMP echo-request                                         result: Passed
I0618 02:50:16.727623 36409 XdpTester.cpp:166] Test: v6 ICMP echo-request                                         result: Passed
I0618 02:50:16.727697 36409 XdpTester.cpp:166] Test: v4 ICMP dest-unreachabe fragmentation-needed                 result: Passed
I0618 02:50:16.727764 36409 XdpTester.cpp:166] Test: v6 ICMP packet-too-big                                       result: Passed
I0618 02:50:16.727830 36409 XdpTester.cpp:166] Test: drop of IPv4 packet w/ options                               result: Passed
I0618 02:50:16.727886 36409 XdpTester.cpp:166] Test: drop of IPv4 fragmented packet                               result: Passed
I0618 02:50:16.727975 36409 XdpTester.cpp:166] Test: drop of IPv6 fragmented packet                               result: Passed
I0618 02:50:16.728072 36409 XdpTester.cpp:166] Test: pass of v4 packet with dst not equal to any configured VIP   result: Passed
I0618 02:50:16.728142 36409 XdpTester.cpp:166] Test: pass of v6 packet with dst not equal to any configured VIP   result: Passed
I0618 02:50:16.728214 36409 XdpTester.cpp:166] Test: pass of arp packet                                           result: Passed
I0618 02:50:16.728307 36409 XdpTester.cpp:166] Test: LRU hit                                                      result: Passed
I0618 02:50:16.728387 36409 XdpTester.cpp:166] Test: packet #1 dst port hashing only                              result: Passed
I0618 02:50:16.728466 36409 XdpTester.cpp:166] Test: packet #2 dst port hashing only                              result: Passed
I0618 02:50:16.728543 36409 XdpTester.cpp:166] Test: ipinip packet                                                result: Passed
I0618 02:50:16.728631 36409 XdpTester.cpp:166] Test: ipv6inipv6 packet                                            result: Passed
I0618 02:50:16.728700 36409 XdpTester.cpp:166] Test: ipv4inipv6 packet                                            result: Passed
I0618 02:50:16.728761 36409 XdpTester.cpp:166] Test: QUIC: long header. Client Initial type                       result: Passed
I0618 02:50:16.728798 36409 XdpTester.cpp:166] Test: QUIC: long header. 0-RTT Protected                           result: Passed
I0618 02:50:16.728925 36409 XdpTester.cpp:166] Test: QUIC: long header. v4 vip v6 real                            result: Passed
I0618 02:50:16.729027 36409 XdpTester.cpp:166] Test: QUIC: long header. v6 vip v6 real                            result: Passed
I0618 02:50:16.729130 36409 XdpTester.cpp:166] Test: QUIC: short header. no connection id                         result: Passed
I0618 02:50:16.729230 36409 XdpTester.cpp:166] Test: QUIC: short header w/ connection id                          result: Passed
I0618 02:50:16.729358 36409 XdpTester.cpp:166] Test: QUIC: short header w/ connection id but non-existing mapping result: Passed
I0618 02:50:16.729395 36409 katran_tester.cpp:166] Testing counter's sanity. Printing on errors only

Breakpoint 1, katran::KatranLb::getLbStats (this=0x7fffffffdb50, position=1) at /usr/local/src/katran/katran/lib/KatranLb.cpp:692
692	    auto res = bpfAdapter_.bpfMapLookupElement(
(gdb) bt
#0  katran::KatranLb::getLbStats (this=0x7fffffffdb50, position=1) at /usr/local/src/katran/katran/lib/KatranLb.cpp:692
#1  0x0000555555693d63 in katran::KatranLb::getStatsForVip (this=0x7fffffffdb50, vip=...) at /usr/local/src/katran/katran/lib/KatranLb.cpp:667
#2  0x000055555565b143 in testLbCounters (lb=...) at /usr/local/src/katran/katran/lib/testing/katran_tester.cpp:167
#3  0x000055555565bbb2 in main (argc=1, argv=0x7fffffffe580) at /usr/local/src/katran/katran/lib/testing/katran_tester.cpp:228
(gdb) next
693	        bpfAdapter_.getMapFdByName("stats"), &position, stats);
(gdb) bt
#0  katran::KatranLb::getLbStats (this=0x7fffffffdb50, position=1) at /usr/local/src/katran/katran/lib/KatranLb.cpp:693
#1  0x0000555555693d63 in katran::KatranLb::getStatsForVip (this=0x7fffffffdb50, vip=...) at /usr/local/src/katran/katran/lib/KatranLb.cpp:667
#2  0x000055555565b143 in testLbCounters (lb=...) at /usr/local/src/katran/katran/lib/testing/katran_tester.cpp:167
#3  0x000055555565bbb2 in main (argc=1, argv=0x7fffffffe580) at /usr/local/src/katran/katran/lib/testing/katran_tester.cpp:228
(gdb) next
692	    auto res = bpfAdapter_.bpfMapLookupElement(
(gdb) bt
#0  katran::KatranLb::getLbStats (this=0x0, position=0) at /usr/local/src/katran/katran/lib/KatranLb.cpp:692
#1  0x0000000000000000 in ?? ()
(gdb) next
694	    if (!res) {
(gdb) bt
#0  katran::KatranLb::getLbStats (this=0x0, position=0) at /usr/local/src/katran/katran/lib/KatranLb.cpp:694
#1  0x0000000000000000 in ?? ()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment