Skip to content

Conversation

@jasmine-nahrain
Copy link
Collaborator

This adds the option to choose how often a server group is used in sni.

@jasmine-nahrain jasmine-nahrain self-assigned this Nov 10, 2025
@jasmine-nahrain jasmine-nahrain added this to the 10.2.0 milestone Nov 10, 2025
a percentage key that determines how frequently that group is selected when multiple
entries are present.

Percentages are relative; they do not need to sum to 100. Any omitted percentage defaults to 100.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe it's a ratio then?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or maybe a weight as you say on the subject.

@maskit
Copy link
Member

maskit commented Nov 10, 2025

I'm not too sure if this is a good approach. groups_list is probably not the only setting that users would want to configure like this. And some of those may not be controllable on sni.yaml.

I feel like making A/B test plugin is a better approach. I can't think of any reason to have the mechanism on ATS core.

@cmcfarlen cmcfarlen requested a review from bneradt November 10, 2025 22:43
@maskit
Copy link
Member

maskit commented Nov 11, 2025

This is what I'm thinking. We'd need to introduce a new TS API to set group_list, but the idea is basically enabling plugins to do something on an SNI action. The difference from a global plugin that uses TS_SSL_SERVERNAME_HOOK would be that the plugin doesn't need to lookup server names. The plugin (TSSNIDoAction) will be called only if ATS core finds a plugin-action for the server name, like remap plugins are called only if there's a match.
#12658

@jasmine-nahrain
Copy link
Collaborator Author

[approve ci autest 1]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants