Skip to content

Commit 2e7409b

Browse files
committed
MINOR: global: add takeover_other_tg_connections to tune options
1 parent 0af3053 commit 2e7409b

10 files changed

Lines changed: 101 additions & 14 deletions

File tree

config-parser/section-parsers.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,7 @@ func (p *configParser) getGlobalParser() *Parsers { //nolint: maintidx
359359
addParser(parser, &sequence, &simple.Number{Name: "tune.ssl.ocsp-update.maxdelay"})
360360
addParser(parser, &sequence, &simple.Number{Name: "tune.ssl.ocsp-update.mindelay"})
361361
addParser(parser, &sequence, &simple.Number{Name: "tune.stick-counters"})
362+
addParser(parser, &sequence, &simple.Word{Name: "tune.takeover-other-tg-connections"})
362363
addParser(parser, &sequence, &simple.Size{Name: "tune.vars.global-max-size"})
363364
addParser(parser, &sequence, &simple.Size{Name: "tune.vars.proc-max-size"})
364365
addParser(parser, &sequence, &simple.Size{Name: "tune.vars.reqres-max-size"})

configuration/global.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1530,6 +1530,15 @@ func parseTuneOptions(p parser.Parser) (*models.TuneOptions, error) { //nolint:g
15301530
options.StickCounters = intPOption
15311531
}
15321532

1533+
strOption, err = parseStringOption(p, "tune.takeover-other-tg-connections")
1534+
if err != nil {
1535+
return nil, err
1536+
}
1537+
if strOption != "" {
1538+
isEmpty = false
1539+
options.TakeoverOtherTgConnections = strOption
1540+
}
1541+
15331542
strOption, err = parseOnOffOption(p, "tune.fd.edge-triggered")
15341543
if err != nil {
15351544
return nil, err
@@ -3833,6 +3842,9 @@ func serializeTuneOptions(p parser.Parser, options *models.TuneOptions, configOp
38333842
if err := serializeInt64POption(p, "tune.stick-counters", options.StickCounters); err != nil {
38343843
return err
38353844
}
3845+
if err := serializeStringOption(p, "tune.takeover-other-tg-connections", options.TakeoverOtherTgConnections); err != nil {
3846+
return err
3847+
}
38363848
if err := serializeOnOffOption(p, "tune.fd.edge-triggered", options.FdEdgeTriggered); err != nil {
38373849
return err
38383850
}

models/tune_options.go

Lines changed: 54 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

models/tune_options_compare.go

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

models/tune_options_compare_test.go

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

specification/build/haproxy_spec.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1695,6 +1695,12 @@ definitions:
16951695
type: integer
16961696
x-display-name: Number of stick-counters
16971697
x-nullable: true
1698+
takeover_other_tg_connections:
1699+
enum:
1700+
- none
1701+
- restricted
1702+
- full
1703+
type: string
16981704
type: object
16991705
tune_quic_options:
17001706
properties:

specification/models/configuration/global.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -648,6 +648,9 @@ tune_options:
648648
type: integer
649649
x-display-name: Number of stick-counters
650650
x-nullable: true
651+
takeover_other_tg_connections:
652+
type: string
653+
enum: ["none", "restricted", "full"]
651654
fd_edge_triggered:
652655
type: string
653656
enum: [enabled, disabled]

test/configuration_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ global
115115
tune.ssl.ocsp-update.maxdelay 48
116116
tune.ssl.ocsp-update.mindelay 49
117117
tune.stick-counters 50
118+
tune.takeover-other-tg-connections none
118119
tune.vars.global-max-size 51
119120
tune.vars.proc-max-size 52
120121
tune.vars.reqres-max-size 53

test/expected/structured.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,8 @@
327327
"ring_queues": 8,
328328
"runqueue_depth": 38,
329329
"sched_low_latency": "enabled",
330-
"stick_counters": 50
330+
"stick_counters": 50,
331+
"takeover_other_tg_connections": "none"
331332
},
332333
"tune_ssl_default_dh_param": 45,
333334
"uid": 1,

test/global_test.go

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -183,17 +183,18 @@ func getGlobalBase() models.GlobalBase {
183183
OcspUpdateMinDelay: misc.Int64P(49),
184184
},
185185
TuneOptions: &models.TuneOptions{
186-
DisableZeroCopyForwarding: true,
187-
EventsMaxEventsAtOnce: 50,
188-
H1ZeroCopyFwdRecv: "disabled",
189-
H1ZeroCopyFwdSend: "disabled",
190-
H2ZeroCopyFwdSend: "disabled",
191-
MaxChecksPerThread: misc.Int64P(20),
192-
NotsentLowatClient: misc.Int64P(10),
193-
NotsentLowatServer: misc.Int64P(20),
194-
PeersMaxUpdatesAtOnce: 100,
195-
PtZeroCopyForwarding: "disabled",
196-
StickCounters: misc.Int64P(50),
186+
DisableZeroCopyForwarding: true,
187+
EventsMaxEventsAtOnce: 50,
188+
H1ZeroCopyFwdRecv: "disabled",
189+
H1ZeroCopyFwdSend: "disabled",
190+
H2ZeroCopyFwdSend: "disabled",
191+
MaxChecksPerThread: misc.Int64P(20),
192+
NotsentLowatClient: misc.Int64P(10),
193+
NotsentLowatServer: misc.Int64P(20),
194+
PeersMaxUpdatesAtOnce: 100,
195+
PtZeroCopyForwarding: "disabled",
196+
StickCounters: misc.Int64P(50),
197+
TakeoverOtherTgConnections: "restricted",
197198
},
198199
HTTPClientOptions: &models.HTTPClientOptions{
199200
ResolversDisabled: "disabled",

0 commit comments

Comments
 (0)