[External] Add UDP transport for rsyslog
Zhang Jian
zhangjian.3032 at bytedance.com
Thu Jan 19 16:25:13 AEDT 2023
Hi Gleb,
I share a problem I encountered some time ago about using `UDP`
rsyslog.If there are more UDP(About 50 logs per second) logs, will
block ipmi messages,
due to bad udp tx performance.
My network is a 1000M direct connection, using `iperf3` to verify.
```
./iperf3 -u -c 192.168.1.2 -b 1000m -t 10 -p 1314
Connecting to host 192.168.1.2, port 1314
[ 5] local 192.168.1.108 port 55038 connected to 192.168.1.2 port 1314
[ ID] Interval Transfer Bitrate Total Datagrams
[ 5] 0.00-1.00 sec 58.0 KBytes 475 Kbits/sec 41
[ 5] 1.00-2.00 sec 0.00 Bytes 0.00 bits/sec 0
[ 5] 2.00-3.00 sec 0.00 Bytes 0.00 bits/sec 0
[ 5] 3.00-4.00 sec 0.00 Bytes 0.00 bits/sec 0
[ 5] 4.00-5.00 sec 0.00 Bytes 0.00 bits/sec 0
[ 5] 5.00-6.00 sec 0.00 Bytes 0.00 bits/sec 0
[ 5] 6.00-7.00 sec 0.00 Bytes 0.00 bits/sec 0
[ 5] 7.00-8.00 sec 0.00 Bytes 0.00 bits/sec 0
[ 5] 8.00-9.00 sec 0.00 Bytes 0.00 bits/sec 0
[ 5] 9.00-10.00 sec 0.00 Bytes 0.00 bits/sec 0
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Jitter
Lost/Total Datagrams
[ 5] 0.00-10.00 sec 58.0 KBytes 47.5 Kbits/sec 0.000 ms 0/41
(0%) sender
[ 5] 0.00-11.69 sec 58.0 KBytes 40.6 Kbits/sec 0.030 ms 0/41
(0%) receiver
```
I found a patch[0] that may fix it.
Apply this patch:
```
iperf3 -u -c 192.168.1.2 -b 1000m -t 10 -p 1314
Connecting to host 192.168.1.2, port 1314
[ 5] local 192.168.1.108 port 34362 connected to 192.168.1.2 port 1314
[ ID] Interval Transfer Bitrate Total Datagrams
[ 5] 0.00-1.01 sec 23.2 MBytes 193 Mbits/sec 16782
[ 5] 1.01-2.01 sec 24.8 MBytes 209 Mbits/sec 17977
[ 5] 2.01-3.00 sec 31.5 MBytes 266 Mbits/sec 22819
[ 5] 3.00-4.00 sec 28.3 MBytes 237 Mbits/sec 20461
[ 5] 4.00-5.00 sec 27.6 MBytes 232 Mbits/sec 19996
[ 5] 5.00-6.00 sec 28.3 MBytes 237 Mbits/sec 20498
[ 5] 6.00-7.00 sec 30.1 MBytes 252 Mbits/sec 21796
[ 5] 7.00-8.00 sec 28.5 MBytes 239 Mbits/sec 20609
[ 5] 8.00-9.00 sec 25.0 MBytes 210 Mbits/sec 18140
[ 5] 9.00-10.00 sec 24.1 MBytes 202 Mbits/sec 17457
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Jitter
Lost/Total Datagrams
[ 5] 0.00-10.00 sec 271 MBytes 228 Mbits/sec 0.000 ms
0/196535 (0%) sender
[ 5] 0.00-10.04 sec 271 MBytes 227 Mbits/sec 0.065 ms
0/196535 (0%) receiver
```
[0]: https://github.com/AspeedTech-BMC/linux/commit/05c055107d56cd699bc88a3440665d95d9a634ff
Cheers,
Jian
On Wed, Jan 18, 2023 at 7:46 PM Gleb Semenov <g.semenov at yadro.com> wrote:
>
> Hello colleagues!
>
> I'm a new member of the Yadro OBMC team and currently working on modifications of the phosphor logging service. Our client requested us to make OBMC's rsyslog to use UDP transport for remote logging. Currently it uses just TCP and this configuration is hard-coded.
>
> It looks like the phosphor-rsyslog-config has only one external dependency, namely the sdbusplus library, which provides appropriate DBUS interface handler to configure network parameters. Also it needs to modify DBUS interface description for network client.
>
> The following should be performed:
>
> Modification of the xyz/openbmc_project/Network/Client.interface.yaml interface to add the protocol attribute.
> Handling for the interface changes in the code of the dbusplus library.
> Corresponding changes to the phosphor-rsyslog-config service.
> Proper changes to the REST/redfish API.
> Modification of the web interface and command line tools.
>
> Also, current DBUS interface to the object implies two independent messages to change network parameters, one to set the IP-address, and the other to set the port number. They are not atomic and configuring just one parameter yields in undesirable state transitions of the service to configure. It is good to send all the parameters in one "atomic" message. But, I'm understand that this may require to persist current network parameters on both sides of transmission (or, at least, to have all of them on sending side upfront).
>
> So, it needs to add DBUS getters/setters for just protocol type, and all parameters at once.
>
> I'm interested in what other components may be affected by such improvements?
>
> Your comments will be appreciated.
>
> Regards!
>
> Gleb
More information about the openbmc
mailing list