Skip to content

feat(inputs.socket_listener): Add SSM/IGMPv3 support#18915

Open
Maxcillius wants to merge 5 commits into
influxdata:masterfrom
Maxcillius:feat/socket-listener-ssm-multicast
Open

feat(inputs.socket_listener): Add SSM/IGMPv3 support#18915
Maxcillius wants to merge 5 commits into
influxdata:masterfrom
Maxcillius:feat/socket-listener-ssm-multicast

Conversation

@Maxcillius
Copy link
Copy Markdown

Summary

Added feature in socket_listener for source specific multicast.

Related issues

resolves #18581

…urce option

Signed-off-by: maxcillius <alphaviperchamber@hotmail.com>
@telegraf-tiger
Copy link
Copy Markdown
Contributor

Thanks so much for the pull request!
🤝 ✒️ Just a reminder that the CLA has not yet been signed, and we'll need it before merging. Please sign the CLA when you get a chance, then post a comment here saying !signed-cla

@telegraf-tiger telegraf-tiger Bot added feat Improvement on an existing feature such as adding a new setting/mode to an existing plugin plugin/input 1. Request for new input plugins 2. Issues/PRs that are related to input plugins labels May 14, 2026
@Maxcillius
Copy link
Copy Markdown
Author

!signed-cla

Copy link
Copy Markdown
Member

@srebhan srebhan left a comment

Choose a reason for hiding this comment

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

Thanks @Maxcillius for your contribution! I do have some comments in the code. Furthermore, please run make docs in Telegraf's project root to update the README.md file after modifying sample.conf.

Comment thread plugins/common/socket/datagram.go Outdated
Comment thread plugins/common/socket/datagram.go
Comment thread plugins/common/socket/datagram.go
Comment thread plugins/inputs/socket_listener/sample.conf Outdated
@srebhan srebhan changed the title feat(inputs.socket_listener): add SSM/IGMPv3 support via multicast_source option feat(inputs.socket_listener): Add SSM/IGMPv3 support May 19, 2026
@srebhan srebhan added the area/network New plugins or feature relating to Network Monitoring label May 19, 2026
@srebhan srebhan self-assigned this May 19, 2026
Signed-off-by: maxcillius <alphaviperchamber@hotmail.com>
@Maxcillius
Copy link
Copy Markdown
Author

Maxcillius commented May 19, 2026

you are right in addressing those. I have updated the code.

…ple config

Signed-off-by: maxcillius <alphaviperchamber@hotmail.com>
srebhan
srebhan previously approved these changes May 20, 2026
Copy link
Copy Markdown
Member

@srebhan srebhan left a comment

Choose a reason for hiding this comment

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

Awesome! Thanks @Maxcillius!

@srebhan srebhan dismissed their stale review May 20, 2026 11:35

Requires running make docs...

@srebhan
Copy link
Copy Markdown
Member

srebhan commented May 20, 2026

@Maxcillius can you please run make docs in the telegraf repository root and push the changes?!

… multicast_source

Signed-off-by: maxcillius <alphaviperchamber@hotmail.com>
Copy link
Copy Markdown
Member

@srebhan srebhan left a comment

Choose a reason for hiding this comment

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

@Maxcillius one more thing to make the linter happy. It might be necessary to run make fmt after that change...

Comment thread plugins/common/socket/datagram.go Outdated
}

func newPacketListener(encoding string, maxDecompressionSize config.Size, maxWorkers int, allowedSources []net.IP, logger telegraf.Logger) *packetListener {
func newPacketListener(encoding string, maxDecompressionSize config.Size, maxWorkers int, allowedSources []net.IP, multicastSource string, logger telegraf.Logger) *packetListener {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Please wrap the parameter list to make the linter happy. I think in the long run we should kick this function and fill the struct directly instead. But that's for another PR...

Suggested change
func newPacketListener(encoding string, maxDecompressionSize config.Size, maxWorkers int, allowedSources []net.IP, multicastSource string, logger telegraf.Logger) *packetListener {
func newPacketListener(
encoding string,
maxDecompressionSize config.Size,
maxWorkers int,
allowedSources []net.IP,
multicastSource string,
logger telegraf.Logger,
) *packetListener {

Signed-off-by: maxcillius <alphaviperchamber@hotmail.com>
@telegraf-tiger
Copy link
Copy Markdown
Contributor

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

Labels

area/network New plugins or feature relating to Network Monitoring feat Improvement on an existing feature such as adding a new setting/mode to an existing plugin plugin/input 1. Request for new input plugins 2. Issues/PRs that are related to input plugins

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[inputs.socket_listener] Add support for Source-Specific-Multicast

2 participants