mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-26 19:16:47 +03:00
Merge pull request #274110 from networkException/sysctl-net.core.wmem_max
nixos/{sysctl,caddy}: improvements for net.core.wmem_max
This commit is contained in:
commit
73b3a1450f
4 changed files with 21 additions and 10 deletions
|
@ -71,6 +71,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
|
||||||
`globalRedirect` can now have redirect codes other than 301 through
|
`globalRedirect` can now have redirect codes other than 301 through
|
||||||
`redirectCode`.
|
`redirectCode`.
|
||||||
|
|
||||||
|
- [](#opt-boot.kernel.sysctl._net.core.wmem_max_) changed from a string to an integer because of the addition of a custom merge option (taking the highest value defined to avoid conflicts between 2 services trying to set that value), just as [](#opt-boot.kernel.sysctl._net.core.rmem_max_) since 22.11.
|
||||||
|
|
||||||
- Gitea 1.21 upgrade has several breaking changes, including:
|
- Gitea 1.21 upgrade has several breaking changes, including:
|
||||||
- Custom themes and other assets that were previously stored in `custom/public/*` now belong in `custom/public/assets/*`
|
- Custom themes and other assets that were previously stored in `custom/public/*` now belong in `custom/public/assets/*`
|
||||||
- New instances of Gitea using MySQL now ignore the `[database].CHARSET` config option and always use the `utf8mb4` charset, existing instances should migrate via the `gitea doctor convert` CLI command.
|
- New instances of Gitea using MySQL now ignore the `[database].CHARSET` config option and always use the `utf8mb4` charset, existing instances should migrate via the `gitea doctor convert` CLI command.
|
||||||
|
|
|
@ -21,19 +21,27 @@ in
|
||||||
options = {
|
options = {
|
||||||
|
|
||||||
boot.kernel.sysctl = mkOption {
|
boot.kernel.sysctl = mkOption {
|
||||||
type = types.submodule {
|
type = let
|
||||||
|
highestValueType = types.ints.unsigned // {
|
||||||
|
merge = loc: defs:
|
||||||
|
foldl
|
||||||
|
(a: b: if b.value == null then null else lib.max a b.value)
|
||||||
|
0
|
||||||
|
(filterOverrides defs);
|
||||||
|
};
|
||||||
|
in types.submodule {
|
||||||
freeformType = types.attrsOf sysctlOption;
|
freeformType = types.attrsOf sysctlOption;
|
||||||
options."net.core.rmem_max" = mkOption {
|
options."net.core.rmem_max" = mkOption {
|
||||||
type = types.nullOr types.ints.unsigned // {
|
type = types.nullOr highestValueType;
|
||||||
merge = loc: defs:
|
|
||||||
foldl
|
|
||||||
(a: b: if b.value == null then null else lib.max a b.value)
|
|
||||||
0
|
|
||||||
(filterOverrides defs);
|
|
||||||
};
|
|
||||||
default = null;
|
default = null;
|
||||||
description = lib.mdDoc "The maximum socket receive buffer size. In case of conflicting values, the highest will be used.";
|
description = lib.mdDoc "The maximum socket receive buffer size. In case of conflicting values, the highest will be used.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
options."net.core.wmem_max" = mkOption {
|
||||||
|
type = types.nullOr highestValueType;
|
||||||
|
default = null;
|
||||||
|
description = lib.mdDoc "The maximum socket send buffer size. In case of conflicting values, the highest will be used.";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
default = {};
|
default = {};
|
||||||
example = literalExpression ''
|
example = literalExpression ''
|
||||||
|
|
|
@ -434,7 +434,7 @@ in
|
||||||
# at least up to the values hardcoded here:
|
# at least up to the values hardcoded here:
|
||||||
(mkIf cfg.settings.utp-enabled {
|
(mkIf cfg.settings.utp-enabled {
|
||||||
"net.core.rmem_max" = mkDefault 4194304; # 4MB
|
"net.core.rmem_max" = mkDefault 4194304; # 4MB
|
||||||
"net.core.wmem_max" = mkDefault "1048576"; # 1MB
|
"net.core.wmem_max" = mkDefault 1048576; # 1MB
|
||||||
})
|
})
|
||||||
(mkIf cfg.performanceNetParameters {
|
(mkIf cfg.performanceNetParameters {
|
||||||
# Increase the number of available source (local) TCP and UDP ports to 49151.
|
# Increase the number of available source (local) TCP and UDP ports to 49151.
|
||||||
|
|
|
@ -342,8 +342,9 @@ in
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# https://github.com/lucas-clemente/quic-go/wiki/UDP-Receive-Buffer-Size
|
# https://github.com/quic-go/quic-go/wiki/UDP-Buffer-Sizes
|
||||||
boot.kernel.sysctl."net.core.rmem_max" = mkDefault 2500000;
|
boot.kernel.sysctl."net.core.rmem_max" = mkDefault 2500000;
|
||||||
|
boot.kernel.sysctl."net.core.wmem_max" = mkDefault 2500000;
|
||||||
|
|
||||||
systemd.packages = [ cfg.package ];
|
systemd.packages = [ cfg.package ];
|
||||||
systemd.services.caddy = {
|
systemd.services.caddy = {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue