-
-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
envoy 1.21.0 #90921
envoy 1.21.0 #90921
Conversation
These tests are being run on Python 3.5 which thinks that Python type hints are a syntax error. |
c83b65d
to
76930c2
Compare
76930c2
to
2dad65c
Compare
|
It is issued with the Google V8 Engine: $ wget -O - https://storage.googleapis.com/envoyproxy-wee8/wee8-9.6.180.12.tar.gz | tar -xz
$ grep -r 'from collections import Mapping' wee8
wee8/third_party/jinja2/tests.py:from collections import Mapping
wee8/third_party/jinja2/sandbox.py:from collections import Mapping
wee8/third_party/jinja2/runtime.py: from collections import Mapping
|
This might be better as an Envoy issue. https://github.com/envoyproxy/envoy/issues |
Waiting for pull request envoyproxy/envoy#19244 to be merged and released. |
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
Waiting for a new release of |
2dad65c
to
980a7d7
Compare
980a7d7
to
b48f757
Compare
#include </usr/include/linux/tcp.h> It's a hardcoded header path. I can build On Ubuntu 16.04 LTS: struct tcp_info {
__u8 tcpi_state;
__u8 tcpi_ca_state;
__u8 tcpi_retransmits;
__u8 tcpi_probes;
__u8 tcpi_backoff;
__u8 tcpi_options;
__u8 tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4;
__u32 tcpi_rto;
__u32 tcpi_ato;
__u32 tcpi_snd_mss;
__u32 tcpi_rcv_mss;
__u32 tcpi_unacked;
__u32 tcpi_sacked;
__u32 tcpi_lost;
__u32 tcpi_retrans;
__u32 tcpi_fackets;
/* Times. */
__u32 tcpi_last_data_sent;
__u32 tcpi_last_ack_sent; /* Not remembered, sorry. */
__u32 tcpi_last_data_recv;
__u32 tcpi_last_ack_recv;
/* Metrics. */
__u32 tcpi_pmtu;
__u32 tcpi_rcv_ssthresh;
__u32 tcpi_rtt;
__u32 tcpi_rttvar;
__u32 tcpi_snd_ssthresh;
__u32 tcpi_snd_cwnd;
__u32 tcpi_advmss;
__u32 tcpi_reordering;
__u32 tcpi_rcv_rtt;
__u32 tcpi_rcv_space;
__u32 tcpi_total_retrans;
__u64 tcpi_pacing_rate;
__u64 tcpi_max_pacing_rate;
__u64 tcpi_bytes_acked; /* RFC4898 tcpEStatsAppHCThruOctetsAcked */
__u64 tcpi_bytes_received; /* RFC4898 tcpEStatsAppHCThruOctetsReceived */
__u32 tcpi_segs_out; /* RFC4898 tcpEStatsPerfSegsOut */
__u32 tcpi_segs_in; /* RFC4898 tcpEStatsPerfSegsIn */
}; On Ubuntu 20.04 LTS: struct tcp_info {
__u8 tcpi_state;
__u8 tcpi_ca_state;
__u8 tcpi_retransmits;
__u8 tcpi_probes;
__u8 tcpi_backoff;
__u8 tcpi_options;
__u8 tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4;
__u8 tcpi_delivery_rate_app_limited:1;
__u32 tcpi_rto;
__u32 tcpi_ato;
__u32 tcpi_snd_mss;
__u32 tcpi_rcv_mss;
__u32 tcpi_unacked;
__u32 tcpi_sacked;
__u32 tcpi_lost;
__u32 tcpi_retrans;
__u32 tcpi_fackets;
/* Times. */
__u32 tcpi_last_data_sent;
__u32 tcpi_last_ack_sent; /* Not remembered, sorry. */
__u32 tcpi_last_data_recv;
__u32 tcpi_last_ack_recv;
/* Metrics. */
__u32 tcpi_pmtu;
__u32 tcpi_rcv_ssthresh;
__u32 tcpi_rtt;
__u32 tcpi_rttvar;
__u32 tcpi_snd_ssthresh;
__u32 tcpi_snd_cwnd;
__u32 tcpi_advmss;
__u32 tcpi_reordering;
__u32 tcpi_rcv_rtt;
__u32 tcpi_rcv_space;
__u32 tcpi_total_retrans;
__u64 tcpi_pacing_rate;
__u64 tcpi_max_pacing_rate;
__u64 tcpi_bytes_acked; /* RFC4898 tcpEStatsAppHCThruOctetsAcked */
__u64 tcpi_bytes_received; /* RFC4898 tcpEStatsAppHCThruOctetsReceived */
__u32 tcpi_segs_out; /* RFC4898 tcpEStatsPerfSegsOut */
__u32 tcpi_segs_in; /* RFC4898 tcpEStatsPerfSegsIn */
__u32 tcpi_notsent_bytes;
__u32 tcpi_min_rtt;
__u32 tcpi_data_segs_in; /* RFC4898 tcpEStatsDataSegsIn */
__u32 tcpi_data_segs_out; /* RFC4898 tcpEStatsDataSegsOut */
__u64 tcpi_delivery_rate;
__u64 tcpi_busy_time; /* Time (usec) busy sending data */
__u64 tcpi_rwnd_limited; /* Time (usec) limited by receive window */
__u64 tcpi_sndbuf_limited; /* Time (usec) limited by send buffer */
__u32 tcpi_delivered;
__u32 tcpi_delivered_ce;
__u64 tcpi_bytes_sent; /* RFC4898 tcpEStatsPerfHCDataOctetsOut */
__u64 tcpi_bytes_retrans; /* RFC4898 tcpEStatsPerfOctetsRetrans */
__u32 tcpi_dsack_dups; /* RFC4898 tcpEStatsStackDSACKDups */
__u32 tcpi_reord_seen; /* reordering events seen */
__u32 tcpi_rcv_ooopack; /* Out-of-order packets received */
__u32 tcpi_snd_wnd; /* peer's advertised receive window after
* scaling (bytes)
*/
}; Diff: 8a9
> __u8 tcpi_delivery_rate_app_limited:1;
47a49,73
>
> __u32 tcpi_notsent_bytes;
> __u32 tcpi_min_rtt;
> __u32 tcpi_data_segs_in; /* RFC4898 tcpEStatsDataSegsIn */
> __u32 tcpi_data_segs_out; /* RFC4898 tcpEStatsDataSegsOut */
>
> __u64 tcpi_delivery_rate;
>
> __u64 tcpi_busy_time; /* Time (usec) busy sending data */
> __u64 tcpi_rwnd_limited; /* Time (usec) limited by receive window */
> __u64 tcpi_sndbuf_limited; /* Time (usec) limited by send buffer */
>
> __u32 tcpi_delivered;
> __u32 tcpi_delivered_ce;
>
> __u64 tcpi_bytes_sent; /* RFC4898 tcpEStatsPerfHCDataOctetsOut */
> __u64 tcpi_bytes_retrans; /* RFC4898 tcpEStatsPerfOctetsRetrans */
> __u32 tcpi_dsack_dups; /* RFC4898 tcpEStatsStackDSACKDups */
> __u32 tcpi_reord_seen; /* reordering events seen */
>
> __u32 tcpi_rcv_ooopack; /* Out-of-order packets received */
>
> __u32 tcpi_snd_wnd; /* peer's advertised receive window after
> * scaling (bytes)
> */ |
b48f757
to
1b3663d
Compare
3824cc3
to
5178fd7
Compare
Formula/envoy.rb
Outdated
if OS.linux? && OS.kernel_version < "4.6" | ||
# Extension `tcp_stats` requires Linux headers >= 4.6 | ||
# (It's included by absolute path `#include </usr/include/linux/tcp.h>`) | ||
# Disable it when the kernel version requirements not satisfied | ||
args << "--//source/extensions/transport_sockets/tcp_stats:enabled=false" | ||
end | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The CI container failed to detect the correct kernel version (Linux Kernel for Ubuntu 16.04 is 4.4.0).
Should we always disable this extension on Linux? (#93273 (comment))
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My guess is yes. But CC @Homebrew/linux
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of looking at the kernel version, can we read the tcp_stats.cc
file and make a decision based on that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Search tcpi_data_segs
in https://github.com/envoyproxy/envoy/blob/release/v1.21/source/extensions/transport_sockets/tcp_stats/tcp_stats.cc#L12
See #90921 (comment) for full struct definition for struct tcp_info
in /usr/include/linux/tcp.h
.
$ docker run -it --rm -h ubuntu --pull always --entrypoint cat ghcr.io/homebrew/ubuntu16.04:latest /usr/include/linux/tcp.h > tcp-16.04.h
latest: Pulling from homebrew/ubuntu16.04
Digest: sha256:30574285516868f78fc3d0fa6fd2b6705a8a23ce799b8252e1a66bdbc20e3c82
Status: Image is up to date for ghcr.io/homebrew/ubuntu16.04:latest
$ docker run -it --rm -h ubuntu --pull always --entrypoint cat ghcr.io/homebrew/ubuntu20.04:latest /usr/include/linux/tcp.h > tcp-20.04.h
latest: Pulling from homebrew/ubuntu20.04
Digest: sha256:71779eeb4f5d6d6d7890de20c5fbecbcb705665921de4c31555819a333cf5a3e
Status: Image is up to date for ghcr.io/homebrew/ubuntu20.04:latest
$ diff tcp-16.04.h tcp-20.04.h
...
159a214
> __u8 tcpi_delivery_rate_app_limited:1;
198a254,305
>
> __u32 tcpi_notsent_bytes;
> __u32 tcpi_min_rtt;
> __u32 tcpi_data_segs_in; /* RFC4898 tcpEStatsDataSegsIn */
> __u32 tcpi_data_segs_out; /* RFC4898 tcpEStatsDataSegsOut */
>
> __u64 tcpi_delivery_rate;
>
> __u64 tcpi_busy_time; /* Time (usec) busy sending data */
> __u64 tcpi_rwnd_limited; /* Time (usec) limited by receive window */
> __u64 tcpi_sndbuf_limited; /* Time (usec) limited by send buffer */
>
> __u32 tcpi_delivered;
> __u32 tcpi_delivered_ce;
>
> __u64 tcpi_bytes_sent; /* RFC4898 tcpEStatsPerfHCDataOctetsOut */
> __u64 tcpi_bytes_retrans; /* RFC4898 tcpEStatsPerfOctetsRetrans */
> __u32 tcpi_dsack_dups; /* RFC4898 tcpEStatsStackDSACKDups */
> __u32 tcpi_reord_seen; /* reordering events seen */
>
> __u32 tcpi_rcv_ooopack; /* Out-of-order packets received */
>
> __u32 tcpi_snd_wnd; /* peer's advertised receive window after
> * scaling (bytes)
> */
> };
...
The old header doesn't have fields tcpi_data_segs_in
and tcpi_data_segs_out
.
5178fd7
to
f45f2bb
Compare
Need label |
All tests passed. |
May need to remove the label |
@XuehaiPan thanks for sticking with this one! |
Thanks, folks. This is great progress |
This update the last known Envoy version to 1.21 now that it exists in Homebrew. Note: this is the first to work with arm64+darwin. See Homebrew/homebrew-core#90921 Signed-off-by: Adrian Cole <[email protected]>
This update the last known Envoy version to 1.21 now that it exists in Homebrew. Note: this is the first to work with arm64+darwin. See Homebrew/homebrew-core#90921 Signed-off-by: Adrian Cole <[email protected]>
This update the last known Envoy version to 1.21 now that it exists in Homebrew. Note: this is the first to work with arm64+darwin. See Homebrew/homebrew-core#90921 Signed-off-by: Adrian Cole <[email protected]>
Migrate stand-alone formula
envoy
to Python 3.10. Part of PR #90716.