<feed xmlns='http://www.w3.org/2005/Atom'>
<title>platform_system_netd/server/Controllers.cpp, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_system_netd/'/>
<entry>
<title>make failing to start TrafficController critical.</title>
<updated>2021-06-22T04:48:28+00:00</updated>
<author>
<name>Maciej Żenczykowski</name>
<email>maze@google.com</email>
</author>
<published>2021-06-18T09:12:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_system_netd/commit/?id=0f104d5bbbc3da8f7a125c6b8967112823ae2f7e'/>
<id>0f104d5bbbc3da8f7a125c6b8967112823ae2f7e</id>
<content type='text'>
I don't want to debug any more kernel regressions, like the one
introduced by "bpf: program: Refuse non-O_RDWR flags in BPF_OBJ_GET":
  06-18 07:35:36.014   360   360 E TrafficController: Failed to get program from /sys/fs/bpf/prog_netd_cgroupskb_egress_stats: Invalid argument
  06-18 07:35:36.023   360   360 E netd    : Failed to start trafficcontroller: (Status[code: 22, msg: "[Invalid argument] : cgroup program get failed"])
which fail to get caught and cause failures in bpf_module_test
(the test seems to get run very unreliably, people will much more
easily notice device simply failing to boot due to netd/systemserver
crash looping).

see also:
  https://android-review.googlesource.com/c/kernel/common/+/1738604
  https://android-review.googlesource.com/c/kernel/common/+/1741194
  https://patchwork.kernel.org/project/netdevbpf/patch/20210618105526.265003-1-zenczykowski@gmail.com/

Test: atest
Signed-off-by: Maciej Żenczykowski &lt;maze@google.com&gt;
Change-Id: If87f02ea6fb713ebbb9a98dbc6c9b6ac477b727e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I don't want to debug any more kernel regressions, like the one
introduced by "bpf: program: Refuse non-O_RDWR flags in BPF_OBJ_GET":
  06-18 07:35:36.014   360   360 E TrafficController: Failed to get program from /sys/fs/bpf/prog_netd_cgroupskb_egress_stats: Invalid argument
  06-18 07:35:36.023   360   360 E netd    : Failed to start trafficcontroller: (Status[code: 22, msg: "[Invalid argument] : cgroup program get failed"])
which fail to get caught and cause failures in bpf_module_test
(the test seems to get run very unreliably, people will much more
easily notice device simply failing to boot due to netd/systemserver
crash looping).

see also:
  https://android-review.googlesource.com/c/kernel/common/+/1738604
  https://android-review.googlesource.com/c/kernel/common/+/1741194
  https://patchwork.kernel.org/project/netdevbpf/patch/20210618105526.265003-1-zenczykowski@gmail.com/

Test: atest
Signed-off-by: Maciej Żenczykowski &lt;maze@google.com&gt;
Change-Id: If87f02ea6fb713ebbb9a98dbc6c9b6ac477b727e
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove non-bpf support from BandwidthController</title>
<updated>2020-12-29T19:08:27+00:00</updated>
<author>
<name>Patrick Rohr</name>
<email>prohr@google.com</email>
</author>
<published>2020-12-29T15:09:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_system_netd/commit/?id=03e3f7bc49540fe31fcce1edb3c68ba6706fdf27'/>
<id>03e3f7bc49540fe31fcce1edb3c68ba6706fdf27</id>
<content type='text'>
Test: atest netd_unit_test
Bug: 167500195
Change-Id: Ie359051cdb4de5aacd1d8b90fe1291a174e95a3c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Test: atest netd_unit_test
Bug: 167500195
Change-Id: Ie359051cdb4de5aacd1d8b90fe1291a174e95a3c
</pre>
</div>
</content>
</entry>
<entry>
<title>simplify: BpfLevel -&gt; BpfEnabled where appropriate</title>
<updated>2020-02-12T02:00:34+00:00</updated>
<author>
<name>Maciej Żenczykowski</name>
<email>maze@google.com</email>
</author>
<published>2020-02-12T01:11:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_system_netd/commit/?id=3d7c966c00d1879009ecb2c5b8ce8ba6236fd7a1'/>
<id>3d7c966c00d1879009ecb2c5b8ce8ba6236fd7a1</id>
<content type='text'>
bpf::BpfLevel getBpfLevel() --&gt; bool getBpfEnabled()
bpf::BpfLevel mBpfLevel --&gt; bool mBpfEnabled

Test: build, atest
Signed-off-by: Maciej Żenczykowski &lt;maze@google.com&gt;
Change-Id: Idb5f9ed10e123a5653047b9d31c7245b9cb8a46e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
bpf::BpfLevel getBpfLevel() --&gt; bool getBpfEnabled()
bpf::BpfLevel mBpfLevel --&gt; bool mBpfEnabled

Test: build, atest
Signed-off-by: Maciej Żenczykowski &lt;maze@google.com&gt;
Change-Id: Idb5f9ed10e123a5653047b9d31c7245b9cb8a46e
</pre>
</div>
</content>
</entry>
<entry>
<title>Drop packets to the clat address.</title>
<updated>2019-07-01T21:20:11+00:00</updated>
<author>
<name>Lorenzo Colitti</name>
<email>lorenzo@google.com</email>
</author>
<published>2019-06-28T10:22:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_system_netd/commit/?id=91fd580aa6cfe897643ad495ca0f5002574e674d'/>
<id>91fd580aa6cfe897643ad495ca0f5002574e674d</id>
<content type='text'>
These packets are not needed for 464xlat to function because
clatd reads packets from packet sockets, which run before
iptables, and the TC action also happens before packet sockets.

Their existence complicates data usage accounting, and in
certain situations results in applications receiving duplicate
UDP packets.

Bug: 65674744
Bug: 136193260
Test: atest netd_unit_test
Change-Id: I26bd8a1e7a54dbac86971b4e62f88f46ae5466f1
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These packets are not needed for 464xlat to function because
clatd reads packets from packet sockets, which run before
iptables, and the TC action also happens before packet sockets.

Their existence complicates data usage accounting, and in
certain situations results in applications receiving duplicate
UDP packets.

Bug: 65674744
Bug: 136193260
Test: atest netd_unit_test
Change-Id: I26bd8a1e7a54dbac86971b4e62f88f46ae5466f1
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove floating-point time functions from StopWatch</title>
<updated>2019-05-29T06:10:48+00:00</updated>
<author>
<name>Bernie Innocenti</name>
<email>codewiz@google.com</email>
</author>
<published>2019-05-20T07:34:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_system_netd/commit/?id=196f1b8a0f3d64b02a37069c37b35f32d358939a'/>
<id>196f1b8a0f3d64b02a37069c37b35f32d358939a</id>
<content type='text'>
Converting time units between floating-point milliseconds to integral
micros and floating-point seconds is error prone and leads to subtle
rounding bugs. Thus, consolidate all callers on microseconds and delete
the older methods.

Test: cd system/netd &amp;&amp; atest .
Change-Id: Ief6ad4dbd21f442bfd65e78d49548677f3172a53
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Converting time units between floating-point milliseconds to integral
micros and floating-point seconds is error prone and leads to subtle
rounding bugs. Thus, consolidate all callers on microseconds and delete
the older methods.

Test: cd system/netd &amp;&amp; atest .
Change-Id: Ief6ad4dbd21f442bfd65e78d49548677f3172a53
</pre>
</div>
</content>
</entry>
<entry>
<title>ClatdController - add mutex annotations</title>
<updated>2019-04-24T01:46:16+00:00</updated>
<author>
<name>Maciej Żenczykowski</name>
<email>maze@google.com</email>
</author>
<published>2019-03-30T10:32:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_system_netd/commit/?id=56280274e15d3e66a6a00142356cb955035080b4'/>
<id>56280274e15d3e66a6a00142356cb955035080b4</id>
<content type='text'>
This effectively makes ClatdController single threaded.
Which makes things nice and simple.

Test: atest libbpf_android_test libnetdbpf_test netd_integration_test netd_unit_test netdutils_test resolv_integration_test resolv_unit_test
Bug: 65674744
Change-Id: I352761b6c44c17f9ea0897ea821a826f642659d5
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This effectively makes ClatdController single threaded.
Which makes things nice and simple.

Test: atest libbpf_android_test libnetdbpf_test netd_integration_test netd_unit_test netdutils_test resolv_integration_test resolv_unit_test
Bug: 65674744
Change-Id: I352761b6c44c17f9ea0897ea821a826f642659d5
</pre>
</div>
</content>
</entry>
<entry>
<title>Move Stopwatch to libnetdutils</title>
<updated>2019-04-03T03:46:52+00:00</updated>
<author>
<name>Mike Yu</name>
<email>yumike@google.com</email>
</author>
<published>2019-03-13T09:15:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_system_netd/commit/?id=e7e332fc6caed28284895cbecac2b0bd4630b669'/>
<id>e7e332fc6caed28284895cbecac2b0bd4630b669</id>
<content type='text'>
Move Stopwatch to libnetdutils as it is an useful utility across
netd and the resolver library.

Bug: 128662167
Test: system/netd/tests/runtests.sh passed

Change-Id: Iebaffc66202fbe3a787ca645847762af1ed94bd7
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move Stopwatch to libnetdutils as it is an useful utility across
netd and the resolver library.

Bug: 128662167
Test: system/netd/tests/runtests.sh passed

Change-Id: Iebaffc66202fbe3a787ca645847762af1ed94bd7
</pre>
</div>
</content>
</entry>
<entry>
<title>ClatdController - populate ebpf ingress clat map on start and stop</title>
<updated>2019-04-02T20:30:43+00:00</updated>
<author>
<name>Maciej Żenczykowski</name>
<email>maze@google.com</email>
</author>
<published>2019-03-30T06:13:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_system_netd/commit/?id=1c086e5dfffda7aed9e09c78129553fe7866aada'/>
<id>1c086e5dfffda7aed9e09c78129553fe7866aada</id>
<content type='text'>
and also attach/detach tc clsact egress qdisc and filter.

Test: atest netd_unit_test netd_integration_test
Bug: 65674744
Signed-off-by: Maciej Żenczykowski &lt;maze@google.com&gt;
Change-Id: I865403ae320b95cec59659b34a69a4f304e1f082
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
and also attach/detach tc clsact egress qdisc and filter.

Test: atest netd_unit_test netd_integration_test
Bug: 65674744
Signed-off-by: Maciej Żenczykowski &lt;maze@google.com&gt;
Change-Id: I865403ae320b95cec59659b34a69a4f304e1f082
</pre>
</div>
</content>
</entry>
<entry>
<title>Clean up Netd and libnetd_resolv for resolver related commands</title>
<updated>2019-03-29T05:42:05+00:00</updated>
<author>
<name>Luke Huang</name>
<email>huangluke@google.com</email>
</author>
<published>2019-03-26T07:15:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_system_netd/commit/?id=f29fe68e00635ba19c1b80c249ce847d15ea2400'/>
<id>f29fe68e00635ba19c1b80c249ce847d15ea2400</id>
<content type='text'>
1. remove all resolver related commands in netd
2. remove unused API in libnetd_resolv

Bug: 126141549
Test: built, flashed, booted
      system/netd/tests/runtests.sh pass

Change-Id: I35ac8f241eebd6284a6a685ef86cd77a1fce4388
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
1. remove all resolver related commands in netd
2. remove unused API in libnetd_resolv

Bug: 126141549
Test: built, flashed, booted
      system/netd/tests/runtests.sh pass

Change-Id: I35ac8f241eebd6284a6a685ef86cd77a1fce4388
</pre>
</div>
</content>
</entry>
<entry>
<title>Get bpf level when check bpf support</title>
<updated>2019-02-15T04:33:30+00:00</updated>
<author>
<name>Chenbo Feng</name>
<email>fengc@google.com</email>
</author>
<published>2018-12-11T20:23:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_system_netd/commit/?id=47dd073ca85df9fa7dc611f7b6fafcb0f7fccefa'/>
<id>47dd073ca85df9fa7dc611f7b6fafcb0f7fccefa</id>
<content type='text'>
Instead of return boolean, bpf support check now returns a integer
represent the current bpf level on device. This level is used to decide
if the device support some advanced bpf feature such as map_in_map and
bpf cgroup socket filter. Delete the binder call for bpf status check
since no one is using it.

Bug: 111441138
Test: libnetdbpf_test, netd_integration_test
Change-Id: Ib70c07647ffe491d493b4582b4b4b0eba7caf3a9
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of return boolean, bpf support check now returns a integer
represent the current bpf level on device. This level is used to decide
if the device support some advanced bpf feature such as map_in_map and
bpf cgroup socket filter. Delete the binder call for bpf status check
since no one is using it.

Bug: 111441138
Test: libnetdbpf_test, netd_integration_test
Change-Id: Ib70c07647ffe491d493b4582b4b4b0eba7caf3a9
</pre>
</div>
</content>
</entry>
</feed>
