Skip to content

Instantly share code, notes, and snippets.

@yuwata
Created November 28, 2017 04:55
Show Gist options
  • Save yuwata/f0ed2a46cffc64fc075b8186342e95f7 to your computer and use it in GitHub Desktop.
Save yuwata/f0ed2a46cffc64fc075b8186342e95f7 to your computer and use it in GitHub Desktop.
test-bpf with PR #7481
$ sudo ./test-bpf
[sudo] password for watanabe:
Found cgroup2 on /sys/fs/cgroup/unified, unified hierarchy for systemd controller
Found cgroup2 on /sys/fs/cgroup/unified, unified hierarchy for systemd controller
Unified cgroup hierarchy is located at /sys/fs/cgroup/unified/user.slice/user-1000.slice/session-2.scope/2c1e4d367297bfca. Controllers are on legacy hierarchies.
Controller 'cpu' supported: yes
Controller 'cpuacct' supported: yes
Controller 'io' supported: no
Controller 'blkio' supported: yes
Controller 'memory' supported: yes
Controller 'devices' supported: yes
Controller 'pids' supported: yes
Looking for unit files in (higher priority first):
/home/watanabe/git/systemd/test
Found container virtualization none.
run.mount: Failed to load configuration: No such file or directory
run-user.mount: Failed to load configuration: No such file or directory
root.mount: Failed to load configuration: No such file or directory
btrfs.mount: Failed to load configuration: No such file or directory
usr.mount: Failed to load configuration: No such file or directory
usr-local.mount: Failed to load configuration: No such file or directory
dev.mount: Failed to load configuration: No such file or directory
sys.mount: Failed to load configuration: No such file or directory
sys-kernel.mount: Failed to load configuration: No such file or directory
sys-devices-pci0000:00-0000:00:19.0-net-enp0s25.device: Changed dead -> plugged
sys-devices-pci0000:00-0000:00:1c.3-0000:02:00.0-net-wlp2s0.device: Changed dead -> plugged
dev-ttyS27.device: Changed dead -> plugged
sys-devices-platform-serial8250-tty-ttyS20.device: Changed dead -> plugged
dev-disk-by\x2dpath-pci\x2d0000:00:1f.2\x2data\x2d1.device: Changed dead -> plugged
dev-ttyS10.device: Changed dead -> plugged
sys-devices-platform-serial8250-tty-ttyS7.device: Changed dead -> plugged
boot.mount: Changed dead -> mounted
sys-subsystem-bluetooth-devices-hci0.device: Changed dead -> plugged
home.mount: Changed dead -> mounted
dev-sdb.device: Changed dead -> plugged
sys-subsystem-net-devices-wlp2s0.device: Changed dead -> plugged
dev-sdb2.device: Changed dead -> plugged
sys-devices-pci0000:00-0000:00:1c.4-0000:03:00.0-ata5-host4-target4:0:0-4:0:0:0-block-sdb.device: Changed dead -> plugged
dev-sda.device: Changed dead -> plugged
btrfs-ssd.mount: Changed dead -> mounted
sys-devices-platform-serial8250-tty-ttyS29.device: Changed dead -> plugged
sys-devices-pci0000:00-0000:00:1c.4-0000:03:00.0-ata5-host4-target4:0:0-4:0:0:0-block-sdb-sdb2.device: Changed dead -> plugged
sys-devices-pci0000:00-0000:00:1c.4-0000:03:00.0-ata5-host4-target4:0:0-4:0:0:0-block-sdb-sdb1.device: Changed dead -> plugged
sys-devices-platform-serial8250-tty-ttyS11.device: Changed dead -> plugged
sys-subsystem-net-devices-enp0s25.device: Changed dead -> plugged
dev-disk-by\x2did-wwn\x2d0x50023031001b5bb6\x2dpart1.device: Changed dead -> plugged
dev-ttyS1.device: Changed dead -> plugged
dev-ttyS11.device: Changed dead -> plugged
dev-ttyS3.device: Changed dead -> plugged
sys-devices-platform-serial8250-tty-ttyS1.device: Changed dead -> plugged
sys-devices-platform-serial8250-tty-ttyS19.device: Changed dead -> plugged
sys-devices-platform-serial8250-tty-ttyS21.device: Changed dead -> plugged
sys-devices-platform-serial8250-tty-ttyS9.device: Changed dead -> plugged
dev-ttyS0.device: Changed dead -> plugged
sys-devices-platform-serial8250-tty-ttyS28.device: Changed dead -> plugged
dev-ttyS23.device: Changed dead -> plugged
dev-disk-by\x2dpartlabel-EFI\x5cx20System\x5cx20Partition.device: Changed dead -> plugged
dev-ttyS24.device: Changed dead -> plugged
dev-ttyS26.device: Changed dead -> plugged
dev-disk-by\x2did-ata\x2dPLEXTOR_PX\x2dAG128M6e_P02416100418\x2dpart1.device: Changed dead -> plugged
init.scope changed dead -> running
dev-ttyS15.device: Changed dead -> plugged
sys-devices-platform-serial8250-tty-ttyS23.device: Changed dead -> plugged
dev-sdb1.device: Changed dead -> plugged
sys-devices-platform-serial8250-tty-ttyS14.device: Changed dead -> plugged
run-user-1000.mount: Changed dead -> mounted
sys-devices-platform-serial8250-tty-ttyS18.device: Changed dead -> plugged
sys-devices-platform-serial8250-tty-ttyS8.device: Changed dead -> plugged
sys-devices-platform-serial8250-tty-ttyS26.device: Changed dead -> plugged
dev-ttyS16.device: Changed dead -> plugged
dev-ttyS8.device: Changed dead -> plugged
sys-devices-platform-serial8250-tty-ttyS10.device: Changed dead -> plugged
sys-devices-platform-serial8250-tty-ttyS30.device: Changed dead -> plugged
dev-disk-by\x2did-wwn\x2d0x50023031001b5bb6\x2dpart2.device: Changed dead -> plugged
sys-devices-platform-serial8250-tty-ttyS12.device: Changed dead -> plugged
dev-ttyS13.device: Changed dead -> plugged
dev-disk-by\x2did-ata\x2dPLEXTOR_PX\x2dAG128M6e_P02416100418.device: Changed dead -> plugged
dev-disk-by\x2dpartuuid-f8c92267\x2d914c\x2d44c7\x2dbd2c\x2d96ec99bce192.device: Changed dead -> plugged
dev-disk-by\x2duuid-c4a62466\x2d9203\x2d483e\x2d8561\x2d0a87f73c689e.device: Changed dead -> plugged
dev-ttyS25.device: Changed dead -> plugged
dev-ttyS17.device: Changed dead -> plugged
dev-disk-by\x2did-wwn\x2d0x50014ee605c53362.device: Changed dead -> plugged
sys-devices-platform-serial8250-tty-ttyS5.device: Changed dead -> plugged
dev-disk-by\x2duuid-2cb050b8\x2d2b01\x2d4a02\x2da9ef\x2db2a2372a4b28.device: Changed dead -> plugged
sys-devices-platform-serial8250-tty-ttyS22.device: Changed dead -> plugged
-.slice changed dead -> active
sys-devices-platform-serial8250-tty-ttyS2.device: Changed dead -> plugged
sys-devices-platform-serial8250-tty-ttyS6.device: Changed dead -> plugged
dev-ttyS29.device: Changed dead -> plugged
sys-devices-platform-serial8250-tty-ttyS16.device: Changed dead -> plugged
dev-ttyS28.device: Changed dead -> plugged
dev-rfkill.device: Changed dead -> plugged
sys-devices-platform-serial8250-tty-ttyS17.device: Changed dead -> plugged
sys-devices-platform-serial8250-tty-ttyS15.device: Changed dead -> plugged
dev-ttyS22.device: Changed dead -> plugged
dev-disk-by\x2dpartuuid-8e143f4d\x2d9759\x2d4532\x2da928\x2d7c447d284b96.device: Changed dead -> plugged
dev-ttyS2.device: Changed dead -> plugged
dev-ttyS5.device: Changed dead -> plugged
dev-disk-by\x2dpath-pci\x2d0000:03:00.0\x2data\x2d1\x2dpart2.device: Changed dead -> plugged
sys-devices-pci0000:00-0000:00:1f.2-ata1-host0-target0:0:0-0:0:0:0-block-sda.device: Changed dead -> plugged
dev-ttyS30.device: Changed dead -> plugged
sys-devices-platform-serial8250-tty-ttyS24.device: Changed dead -> plugged
dev-disk-by\x2did-ata\x2dWDC_WD10JFCX\x2d68N6GN0_WD\x2dWX61A45NT1FX.device: Changed dead -> plugged
sys-kernel-config.mount: Changed dead -> mounted
dev-ttyS18.device: Changed dead -> plugged
dev-mqueue.mount: Changed dead -> mounted
dev-ttyS7.device: Changed dead -> plugged
usr-local-texlive.mount: Changed dead -> mounted
dev-ttyS9.device: Changed dead -> plugged
tmp.mount: Changed dead -> mounted
sys-module-configfs.device: Changed dead -> plugged
sys-devices-pci0000:00-0000:00:03.0-sound-card0.device: Changed dead -> plugged
sys-devices-platform-serial8250-tty-ttyS31.device: Changed dead -> plugged
dev-ttyS21.device: Changed dead -> plugged
dev-ttyS31.device: Changed dead -> plugged
sys-devices-platform-serial8250-tty-ttyS27.device: Changed dead -> plugged
dev-disk-by\x2dpath-pci\x2d0000:03:00.0\x2data\x2d1\x2dpart1.device: Changed dead -> plugged
sys-kernel-debug.mount: Changed dead -> mounted
dev-ttyS14.device: Changed dead -> plugged
sys-devices-platform-serial8250-tty-ttyS3.device: Changed dead -> plugged
sys-devices-pci0000:00-0000:00:1b.0-sound-card1.device: Changed dead -> plugged
dev-ttyS6.device: Changed dead -> plugged
dev-ttyS19.device: Changed dead -> plugged
dev-ttyS12.device: Changed dead -> plugged
sys-devices-virtual-misc-rfkill.device: Changed dead -> plugged
dev-hugepages.mount: Changed dead -> mounted
sys-devices-platform-serial8250-tty-ttyS13.device: Changed dead -> plugged
-.mount: Changed dead -> mounted
dev-disk-by\x2did-ata\x2dPLEXTOR_PX\x2dAG128M6e_P02416100418\x2dpart2.device: Changed dead -> plugged
sys-devices-pci0000:00-0000:00:14.0-usb2-2\x2d7-2\x2d7:1.0-bluetooth-hci0.device: Changed dead -> plugged
dev-disk-by\x2dpath-pci\x2d0000:03:00.0\x2data\x2d1.device: Changed dead -> plugged
dev-ttyS4.device: Changed dead -> plugged
sys-devices-platform-serial8250-tty-ttyS25.device: Changed dead -> plugged
home2.mount: Changed dead -> mounted
sys-devices-platform-serial8250-tty-ttyS4.device: Changed dead -> plugged
dev-ttyS20.device: Changed dead -> plugged
sys-devices-platform-serial8250-tty-ttyS0.device: Changed dead -> plugged
dev-disk-by\x2did-wwn\x2d0x50023031001b5bb6.device: Changed dead -> plugged
dev-disk-by\x2duuid-0BFE\x2d8D66.device: Changed dead -> plugged
btrfs-hdd.mount: Changed dead -> mounted
-> Unit foo.service:
Description: foo.service
Instance: n/a
Unit Load State: loaded
Unit Active State: inactive
State Change Timestamp: n/a
Inactive Exit Timestamp: n/a
Active Enter Timestamp: n/a
Active Exit Timestamp: n/a
Inactive Enter Timestamp: n/a
GC Check Good: yes
Need Daemon Reload: no
Transient: no
Perpetual: yes
Garbage Collection Mode: inactive
Slice: n/a
CGroup: n/a
CGroup realized: no
CGroup own mask: pids
Name: foo.service
StopWhenUnneeded: no
RefuseManualStart: no
RefuseManualStop: no
DefaultDependencies: yes
OnFailureJobMode: replace
IgnoreOnIsolate: no
Service State: dead
Result: success
Reload Result: success
PermissionsStartOnly: no
RootDirectoryStartOnly: no
RemainAfterExit: no
GuessMainPID: yes
Type: oneshot
Restart: no
NotifyAccess: none
NotifyState: unknown
KillMode: control-group
KillSignal: SIGTERM
SendSIGKILL: yes
SendSIGHUP: no
UMask: 0022
WorkingDirectory: /
RootDirectory: /
NonBlocking: no
PrivateTmp: no
PrivateDevices: no
ProtectKernelTunables: no
ProtectKernelModules: no
ProtectControlGroups: no
PrivateNetwork: no
PrivateUsers: no
ProtectHome: no
ProtectSystem: no
MountAPIVFS: no
IgnoreSIGPIPE: yes
MemoryDenyWriteExecute: no
RestrictRealtime: no
KeyringMode: inherit
RuntimeDirectoryPreserve: no
RuntimeDirectoryMode: 0755
StateDirectoryMode: 0755
CacheDirectoryMode: 0755
LogsDirectoryMode: 0755
ConfigurationDirectoryMode: 0755
StandardInput: null
StandardOutput: inherit
StandardError: inherit
DynamicUser: no
LockPersonality: no
-> ExecStart:
Command Line: /bin/ping -c 1 127.0.0.2 -W 5
Command Line: /bin/ping -c 1 127.0.0.3 -W 5
CPUAccounting=no
IOAccounting=no
BlockIOAccounting=no
MemoryAccounting=no
TasksAccounting=yes
IPAccounting=yes
CPUWeight=18446744073709551615
StartupCPUWeight=18446744073709551615
CPUShares=18446744073709551615
StartupCPUShares=18446744073709551615
CPUQuotaPerSecSec=infinity
IOWeight=18446744073709551615
StartupIOWeight=18446744073709551615
BlockIOWeight=18446744073709551615
StartupBlockIOWeight=18446744073709551615
MemoryLow=0
MemoryHigh=18446744073709551615
MemoryMax=18446744073709551615
MemorySwapMax=18446744073709551615
MemoryLimit=18446744073709551615
TasksMax=18446744073709551615
DevicePolicy=auto
Delegate=no
IPAddressAllow=10.0.1.0/24
IPAddressAllow=127.0.0.2/32
IPAddressDeny=10.0.3.0/24
IPAddressDeny=127.0.0.0/25
log:
-------
0: (bf) r6 = r1
1: (61) r7 = *(u32 *)(r6 +16)
2: (b4) (u32) r8 = (u32) 0
3: (55) if r7 != 0x8 goto pc+14
R1=ctx R6=ctx R7=inv,min_value=8,max_value=8 R8=imm0,min_value=0,max_value=0,min_align=2147483648 R10=fp
4: (bf) r1 = r6
5: (b4) (u32) r2 = (u32) 12
6: (bf) r3 = r10
7: (07) r3 += -4
8: (b4) (u32) r4 = (u32) 4
9: (85) call bpf_skb_load_bytes#26
10: (18) r1 = 0xffff9dd15fca33c0
12: (bf) r2 = r10
13: (07) r2 += -8
14: (62) *(u32 *)(r2 +0) = 32
15: (85) call bpf_map_lookup_elem#1
16: (15) if r0 == 0x0 goto pc+1
R0=map_value(ks=8,vs=8,id=0),min_value=0,max_value=0 R6=ctx R7=inv,min_value=8,max_value=8 R8=imm0,min_value=0,max_value=0,min_align=2147483648 R10=fp
17: (44) (u32) r8 |= (u32) 2
18: (55) if r7 != 0x8 goto pc+14
R0=map_value(ks=8,vs=8,id=0),min_value=0,max_value=0 R6=ctx R7=inv,min_value=8,max_value=8 R8=inv R10=fp
19: (bf) r1 = r6
20: (b4) (u32) r2 = (u32) 12
21: (bf) r3 = r10
22: (07) r3 += -4
23: (b4) (u32) r4 = (u32) 4
24: (85) call bpf_skb_load_bytes#26
25: (18) r1 = 0xffff9dd15fca3840
27: (bf) r2 = r10
28: (07) r2 += -8
29: (62) *(u32 *)(r2 +0) = 32
30: (85) call bpf_map_lookup_elem#1
31: (15) if r0 == 0x0 goto pc+1
R0=map_value(ks=8,vs=8,id=0),min_value=0,max_value=0 R6=ctx R7=inv,min_value=8,max_value=8 R8=inv R10=fp
32: (44) (u32) r8 |= (u32) 1
33: (b7) r0 = 1
34: (55) if r8 != 0x2 goto pc+1
R0=imm1,min_value=1,max_value=1,min_align=1 R6=ctx R7=inv,min_value=8,max_value=8 R8=inv,min_value=2,max_value=2 R10=fp
35: (b7) r0 = 0
36: (15) if r0 == 0x0 goto pc+21
58: (95) exit
from 34 to 36: R0=imm1,min_value=1,max_value=1,min_align=1 R6=ctx R7=inv,min_value=8,max_value=8 R8=inv R10=fp
36: (15) if r0 == 0x0 goto pc+21
R0=imm1,min_value=1,max_value=1,min_align=1 R6=ctx R7=inv,min_value=8,max_value=8 R8=inv R10=fp
37: (b7) r0 = 0
38: (63) *(u32 *)(r10 -4) = r0
39: (bf) r2 = r10
40: (07) r2 += -4
41: (18) r1 = 0xffff9dd1e9539680
43: (85) call bpf_map_lookup_elem#1
44: (15) if r0 == 0x0 goto pc+2
R0=map_value(ks=4,vs=8,id=0),min_value=0,max_value=0 R6=ctx R7=inv,min_value=8,max_value=8 R8=inv R10=
-------
log:
-------
0: (bf) r6 = r1
1: (61) r7 = *(u32 *)(r6 +16)
2: (b4) (u32) r8 = (u32) 0
3: (55) if r7 != 0x8 goto pc+14
R1=ctx R6=ctx R7=inv,min_value=8,max_value=8 R8=imm0,min_value=0,max_value=0,min_align=2147483648 R10=fp
4: (bf) r1 = r6
5: (b4) (u32) r2 = (u32) 16
6: (bf) r3 = r10
7: (07) r3 += -4
8: (b4) (u32) r4 = (u32) 4
9: (85) call bpf_skb_load_bytes#26
10: (18) r1 = 0xffff9dd15fca33c0
12: (bf) r2 = r10
13: (07) r2 += -8
14: (62) *(u32 *)(r2 +0) = 32
15: (85) call bpf_map_lookup_elem#1
16: (15) if r0 == 0x0 goto pc+1
R0=map_value(ks=8,vs=8,id=0),min_value=0,max_value=0 R6=ctx R7=inv,min_value=8,max_value=8 R8=imm0,min_value=0,max_value=0,min_align=2147483648 R10=fp
17: (44) (u32) r8 |= (u32) 2
18: (55) if r7 != 0x8 goto pc+14
R0=map_value(ks=8,vs=8,id=0),min_value=0,max_value=0 R6=ctx R7=inv,min_value=8,max_value=8 R8=inv R10=fp
19: (bf) r1 = r6
20: (b4) (u32) r2 = (u32) 16
21: (bf) r3 = r10
22: (07) r3 += -4
23: (b4) (u32) r4 = (u32) 4
24: (85) call bpf_skb_load_bytes#26
25: (18) r1 = 0xffff9dd15fca3840
27: (bf) r2 = r10
28: (07) r2 += -8
29: (62) *(u32 *)(r2 +0) = 32
30: (85) call bpf_map_lookup_elem#1
31: (15) if r0 == 0x0 goto pc+1
R0=map_value(ks=8,vs=8,id=0),min_value=0,max_value=0 R6=ctx R7=inv,min_value=8,max_value=8 R8=inv R10=fp
32: (44) (u32) r8 |= (u32) 1
33: (b7) r0 = 1
34: (55) if r8 != 0x2 goto pc+1
R0=imm1,min_value=1,max_value=1,min_align=1 R6=ctx R7=inv,min_value=8,max_value=8 R8=inv,min_value=2,max_value=2 R10=fp
35: (b7) r0 = 0
36: (15) if r0 == 0x0 goto pc+21
58: (95) exit
from 34 to 36: R0=imm1,min_value=1,max_value=1,min_align=1 R6=ctx R7=inv,min_value=8,max_value=8 R8=inv R10=fp
36: (15) if r0 == 0x0 goto pc+21
R0=imm1,min_value=1,max_value=1,min_align=1 R6=ctx R7=inv,min_value=8,max_value=8 R8=inv R10=fp
37: (b7) r0 = 0
38: (63) *(u32 *)(r10 -4) = r0
39: (bf) r2 = r10
40: (07) r2 += -4
41: (18) r1 = 0xffff9dd1e9539400
43: (85) call bpf_map_lookup_elem#1
44: (15) if r0 == 0x0 goto pc+2
R0=map_value(ks=4,vs=8,id=0),min_value=0,max_value=0 R6=ctx R7=inv,min_value=8,max_value=8 R8=inv R10=
-------
foo.service: Passing 0 fds to service
foo.service: About to execute: /bin/ping -c 1 127.0.0.2 -W 5
foo.service: Forked /bin/ping as 12491
foo.service: Changed dead -> start
foo.service: Executing: /bin/ping -c 1 127.0.0.2 -W 5
PING 127.0.0.2 (127.0.0.2) 56(84) bytes of data.
64 bytes from 127.0.0.2: icmp_seq=1 ttl=64 time=0.043 ms
--- 127.0.0.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.043/0.043/0.043/0.000 ms
Received SIGCHLD from PID 12491 (ping).
Child 12491 (ping) died (code=exited, status=0/SUCCESS)
foo.service: Child 12491 belongs to foo.service
foo.service: Main process exited, code=exited, status=0/SUCCESS
foo.service: Running next main command for state start.
foo.service: Passing 0 fds to service
foo.service: About to execute: /bin/ping -c 1 127.0.0.3 -W 5
foo.service: Forked /bin/ping as 12492
foo.service: Executing: /bin/ping -c 1 127.0.0.3 -W 5
PING 127.0.0.3 (127.0.0.3) 56(84) bytes of data.
ping: sendmsg: Operation not permitted
--- 127.0.0.3 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms
Received SIGCHLD from PID 12492 (ping).
Child 12492 (ping) died (code=exited, status=1/FAILURE)
foo.service: Child 12492 belongs to foo.service
foo.service: Main process exited, code=exited, status=1/FAILURE
foo.service: Failed with result 'exit-code'.
foo.service: Changed start -> failed
foo.service: Unit entered failed state.
foo.service: Received 84B IP traffic, sent 84B IP traffic
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment