d980e4fc | 18-Dec-2024 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: re-format for clang-19
clang-format-19 isn't compatible with the clang-format-18 output, so we need to reformat the code with the latest version. A few parameters in clang-tidy have b
clang-format: re-format for clang-19
clang-format-19 isn't compatible with the clang-format-18 output, so we need to reformat the code with the latest version. A few parameters in clang-tidy have been deprecated, so adjust the style file accordingly.
See Ie2f6eb3b043f2d655c9df806815afd7971fd0947 for updated style. See I88192b41ab7a95599a90915013579608af7bc56f for clang-19 enablement.
Change-Id: Iae27e5bd313778cb732d5e87598cd94cc6b13cb4 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
6461f396 | 03-Dec-2024 |
Mo Elbadry <elbadrym@google.com> |
ncsid: skip setting mac address if it matches
There are cases where NIC keeps trying to set MAC address of already set interface, which can lead to ncsid turning interface down/up non-stop. A worka
ncsid: skip setting mac address if it matches
There are cases where NIC keeps trying to set MAC address of already set interface, which can lead to ncsid turning interface down/up non-stop. A workaround is to check if mac matches before setting.
Change-Id: I376cfdde62d5e6a1021fd3410d48027644c7ddde Signed-off-by: Mo Elbadry <elbadrym@google.com>
show more ...
|
d94dc257 | 07-Nov-2024 |
Mo Elbadry <elbadrym@google.com> |
ncsid: Set MAC address using ioctl calls
Set the MAC address directly via ioctl calls, removing the dependency on phosphor-networkd. This simplifies the process and reduces overhead as phosphor-netw
ncsid: Set MAC address using ioctl calls
Set the MAC address directly via ioctl calls, removing the dependency on phosphor-networkd. This simplifies the process and reduces overhead as phosphor-networkd is not extensively utilized in this context.
Change-Id: If3465f52834ba38c551d5152ef354cbf455f6a90 Signed-off-by: Mo Elbadry <elbadrym@google.com>
show more ...
|
c66ebc35 | 16-Aug-2024 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: re-format for clang-18
clang-format-18 isn't compatible with the clang-format-17 output, so we need to reformat the code with the latest version. The way clang-18 handles lambda forma
clang-format: re-format for clang-18
clang-format-18 isn't compatible with the clang-format-17 output, so we need to reformat the code with the latest version. The way clang-18 handles lambda formatting also changed, so we have made changes to the organization default style format to better handle lambda formatting.
See I5e08687e696dd240402a2780158664b7113def0e for updated style. See Iea0776aaa7edd483fa395e23de25ebf5a6288f71 for clang-18 enablement.
Change-Id: I362352dcb341658501899267c2ff3ad044ed5912 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
177e7270 | 10-Jul-2024 |
Yuxiao Zhang <yuxiaozhang@google.com> |
ncsid: fix default wait time
The default wait time needs to shift with current timestamp, otherwise the script will keep looping with 0 intervals and 0 wait time in RA, if the initial loop does not
ncsid: fix default wait time
The default wait time needs to shift with current timestamp, otherwise the script will keep looping with 0 intervals and 0 wait time in RA, if the initial loop does not capture any RA data.
Tested: bring down the interface to simulate the nic not ready, start this script and verified that it loops every 10s. Then bring up the interface, and see the route is setup with no issue
Change-Id: I4189f39c1e9efc0dd9dbbdf1116c505b755a6982 Signed-off-by: Yuxiao Zhang <yuxiaozhang@google.com>
show more ...
|
08988f3d | 26-Jun-2024 |
William A. Kennington III <wak@google.com> |
ncsid: update_ra_gw: Fix old_rtr check
An iteration of a previous commit changed the default value of `old_rtr` from empty string to explicitly `invalid`. We need to use the correct comparison for e
ncsid: update_ra_gw: Fix old_rtr check
An iteration of a previous commit changed the default value of `old_rtr` from empty string to explicitly `invalid`. We need to use the correct comparison for early router setting.
Change-Id: I27c198a93cf06622c6fc6f01092f12d72e05f722 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
a9bd43e7 | 20-Jun-2024 |
William A. Kennington III <wak@google.com> |
ncsid: Make fixup run for all RA
We want to ensure we get regular fixes to the router state without switching to different routers when our route accidentally disappears.
Change-Id: I14c4ea63b51474
ncsid: Make fixup run for all RA
We want to ensure we get regular fixes to the router state without switching to different routers when our route accidentally disappears.
Change-Id: I14c4ea63b514740d846063aaaac35e3c8998cb9e Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
48282226 | 18-Jun-2024 |
William A. Kennington III <wak@google.com> |
ncsid: Reduce networkd reloads
This should help to avoid race conditions with phosphor-networkd. We still write the networkd files so that when reloads occur the information is updated correctly.
C
ncsid: Reduce networkd reloads
This should help to avoid race conditions with phosphor-networkd. We still write the networkd files so that when reloads occur the information is updated correctly.
Change-Id: I550ea04deb8de12db8c4490e9f26f0d3a04baef7 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
1e2289c8 | 17-Jun-2024 |
William A. Kennington III <wak@google.com> |
ncsid: Prefer fe80::1 gateway
Our labs and production environment normally use this as the gateway address. We often have noisy lab networks with many bad gateways advertising their presence. We kno
ncsid: Prefer fe80::1 gateway
Our labs and production environment normally use this as the gateway address. We often have noisy lab networks with many bad gateways advertising their presence. We know we generally prefer fe80::1 so we switch to it when available.
Tested: On a noisy lab network and verified that the script correctly locks onto fe80::1 and switches away from other gateways it receives.
Change-Id: I9ed6c5c2df7b1dec8015dcdfc0d320d471b5e7f3 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
a9b1822b | 17-Jun-2024 |
William A. Kennington III <wak@google.com> |
ncsid: Find IPv6 gateway stably
Some environments have multiple gateways for the node to use. We want to ensure that we aren't flip flopping between multiple gateways and lock on to a specific gatew
ncsid: Find IPv6 gateway stably
Some environments have multiple gateways for the node to use. We want to ensure that we aren't flip flopping between multiple gateways and lock on to a specific gateway until it goes away.
Tested: Ran in an environment with multiple gateways and verified that it did not switch after it acquired the first one.
Change-Id: I12bac9582d35bdca49320fab8f5063ebfb2f3986 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
5f0ae6fa | 19-Apr-2024 |
William A. Kennington III <wak@google.com> |
ncsid: Remove unused services
We no longer need IPv4 support or any of the neighbor finding logic, as we have all of the neighbor information updated via the primary RA from the router.
Tested: Ran
ncsid: Remove unused services
We no longer need IPv4 support or any of the neighbor finding logic, as we have all of the neighbor information updated via the primary RA from the router.
Tested: Ran on a lab and prod machine to verify the networking behavior is still consistent and gateway information is updated accurately.
Change-Id: I0e247291ae3a1f98064a3bc9a94b28d9a2223843 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
b47ca0df | 30-May-2024 |
Yuxiao Zhang <yuxiaozhang@google.com> |
ncsid: reconfigure gateway when default route is missing
This will ensure that default gateway can be reconfigured if any failure happens at the first time.
Tested: On a machine that has default ro
ncsid: reconfigure gateway when default route is missing
This will ensure that default gateway can be reconfigured if any failure happens at the first time.
Tested: On a machine that has default route configured, manually deleted the route, without this change it will stay broken. This change will bring the route back in 1mins or so.
Change-Id: I7f8f1fafcbcfb3f4b904af8999d1a5c17400e99e Signed-off-by: Yuxiao Zhang <yuxiaozhang@google.com>
show more ...
|
0ddcb163 | 22-Mar-2024 |
William A. Kennington III <wak@google.com> |
ncsid: lib: Fix neighbor path
It no longer has its own hierarchy. Instead, it's directly below the ethernet object now.
Tested: Verified that neighbors are now correctly identified when they need t
ncsid: lib: Fix neighbor path
It no longer has its own hierarchy. Instead, it's directly below the ethernet object now.
Tested: Verified that neighbors are now correctly identified when they need to be deleted.
Change-Id: Ibd319dcc84fcff99d7c45a5e2fb2de58b6f84406 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
d36d9ef6 | 19-Mar-2024 |
William A. Kennington III <wak@google.com> |
ncsid: update_ra_gw: Improve gateway discovery speed
The rdisc6 binary when run in a subshell buffers all of the output instead of sending each line. This results in a long delay to figure out the g
ncsid: update_ra_gw: Improve gateway discovery speed
The rdisc6 binary when run in a subshell buffers all of the output instead of sending each line. This results in a long delay to figure out the gateway address.
We can fix this by running it through `script`, which removes the buffering and allows us to nearly instantly update our route.
Tested: Ran on our AMD Rome system and verified that the gateway was quickly being updated.
Change-Id: I22350d6bd95665ab853c3f1273c0d6e4ff60718e Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
5034c566 | 19-Mar-2024 |
William A. Kennington III <wak@google.com> |
ncsid: update_ra_gw: Don't depend on phosphor-networkd
The daemon is currently racy for setting the GW settings, don't depend on it if we don't need to. We always prefer the RA discovered gateway se
ncsid: update_ra_gw: Don't depend on phosphor-networkd
The daemon is currently racy for setting the GW settings, don't depend on it if we don't need to. We always prefer the RA discovered gateway settings, so override them.
Tested: Ran on our AMD Rome system and verified that the gateway files get generated correctly and the system was using the right routes.
Change-Id: Ibeea9f02370ee8eefdee3eff29ea5c528890951d Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
253e6463 | 28-Dec-2023 |
Willy Tu <wltu@google.com> |
build: Remove dependencies on fmtlib
With C++23, we can replace fmt::format with std::format and fmt::print with stdplus::print. This allows us to migrate to std::print once the support is available
build: Remove dependencies on fmtlib
With C++23, we can replace fmt::format with std::format and fmt::print with stdplus::print. This allows us to migrate to std::print once the support is available.
Change-Id: I790901fb3b96d815275a3919e1fb90973189fc02 Signed-off-by: Willy Tu <wltu@google.com>
show more ...
|
47a0ada2 | 29-Nov-2023 |
Patrick Williams <patrick@stwcx.xyz> |
build: use allowed over enabled
Meson feature options are typically in a tri-state of enabled, disabled, or auto. The enabled and disabled functions on an option (from `get_option`) no longer retur
build: use allowed over enabled
Meson feature options are typically in a tri-state of enabled, disabled, or auto. The enabled and disabled functions on an option (from `get_option`) no longer return true for auto features. Instead, the expectation is to use `allowed()` which is true for both enabled and auto.
Switch all uses of `enabled` to `allowed`.
Change-Id: I91fe34f9d6743a3afeef73c3e55847542cea143c Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
a9a98258 | 18-Sep-2023 |
Willy Tu <wltu@google.com> |
ncsid: Fix if_packet warnings
The new Docker CI now hits the following error. ``` /usr/include/linux/if_packet.h:24:17: error: flexible array member 'sockaddr_ll::<unnamed union>::<unnamed struct>::
ncsid: Fix if_packet warnings
The new Docker CI now hits the following error. ``` /usr/include/linux/if_packet.h:24:17: error: flexible array member 'sockaddr_ll::<unnamed union>::<unnamed struct>::sll_addr_flex' not at end of 'class ncsi::SockIO' 24 | __DECLARE_FLEX_ARRAY(unsigned char, sll_addr_flex); | ^~~~~~~~~~~~~~~~~~~~ ../subprojects/ncsid/src/ncsi_sockio.h:55:15: note: next member 'const int ncsi::SockIO::kpoll_timeout_' declared here 55 | const int kpoll_timeout_ = 10; | ^~~~~~~~~~~~~~ ../subprojects/ncsid/src/ncsi_sockio.h:29:7: note: in the definition of 'class ncsi::SockIO' 29 | class SockIO : public net::SockIO ```
Removed the sockaddr_ll variable.
Change-Id: I67e700f6cd728bfbc822c1b8661915f8306711a1 Signed-off-by: Willy Tu <wltu@google.com>
show more ...
|
f8bb4779 | 21-Jul-2023 |
William A. Kennington III <wak@google.com> |
ncsid: Fix build issue
IWYU
Change-Id: Ibd54f428ea8e6e5c9f9dfd2ec8da4fcfbafdb572 Signed-off-by: William A. Kennington III <wak@google.com> |
adb8ffe4 | 17-Jul-2023 |
Willy Tu <wltu@google.com> |
iwyu: Cleanup include headers
Triggered iwyu and add/remove used headers.
Change-Id: Iadbdb459563b3c89baf2d56f90a540342d020cd5 Signed-off-by: Willy Tu <wltu@google.com> |
bb53161d | 16-Jul-2023 |
Willy Tu <wltu@google.com> |
cleanup fmt::format for std::format
Update the code to use std::format since gcc13 supports it now. Also cleaned up some unused headers.
Change-Id: Ief2ad4df9e8b8227168f4f98213da8b3978fda03 Signed-
cleanup fmt::format for std::format
Update the code to use std::format since gcc13 supports it now. Also cleaned up some unused headers.
Change-Id: Ief2ad4df9e8b8227168f4f98213da8b3978fda03 Signed-off-by: Willy Tu <wltu@google.com>
show more ...
|
1dfe24ea | 12-Jul-2023 |
Patrick Williams <patrick@stwcx.xyz> |
build: upgrade to C++23
Meson 1.1.1 and GCC-13 both support C++23 and a sufficient portion of the standard has been implemented. Upgrade the build to leverage it.
Change-Id: Ibb8913a93032d388399b6
build: upgrade to C++23
Meson 1.1.1 and GCC-13 both support C++23 and a sufficient portion of the standard has been implemented. Upgrade the build to leverage it.
Change-Id: Ibb8913a93032d388399b65904013e284780dad70 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
2be45238 | 10-May-2023 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: copy latest and re-format
clang-format-16 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest
clang-format: copy latest and re-format
clang-format-16 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest .clang-format from the docs repository and reformat the repository.
Change-Id: Ia240047e2472bccb2bb039ff71bea20a7a602ec4 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
4c4e94f0 | 12-Apr-2023 |
Patrick Williams <patrick@stwcx.xyz> |
meson: remove deprecated get_pkgconfig_variable
Since meson 0.56, the `get_pkgconfig_variable` has been deprecated. In meson 0.58 the `get_variable` was enhanced to no longer require the `pkgconfig
meson: remove deprecated get_pkgconfig_variable
Since meson 0.56, the `get_pkgconfig_variable` has been deprecated. In meson 0.58 the `get_variable` was enhanced to no longer require the `pkgconfig` keyword argument. Ensure meson 0.58 is required and update the usage of all `get_pkgconfig_variable` and `get_variable` to be the modern variant.
Change-Id: Ibc0692c5cd05546e797c20973e1c1f172dcb8379 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
27364013 | 27-Feb-2023 |
William A. Kennington III <wak@google.com> |
ncsid: Only delete static addresses
Technically this is safe, but it causes errors to be logged.
Change-Id: I5872e2dd7c9da4ce0dc82b80dd642c715d76b0be Signed-off-by: William A. Kennington III <wak@g
ncsid: Only delete static addresses
Technically this is safe, but it causes errors to be logged.
Change-Id: I5872e2dd7c9da4ce0dc82b80dd642c715d76b0be Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|