Documentation Index

Fetch the complete documentation index at: https://docs.fmad.io/llms.txt

Use this file to discover all available pages before exploring further.

igmp

Prev Next

Provides general purpose scriptable way to update IGMP multicast joins running on the FMADIO capture ports.


/api/v1/capture/igmp/get

Returns the current IGMP settings in LUA format.

Address

/api/v1/capture/igmp/get

Verb

GET

Notes

Arguments

Parameter

Description

no parameters

Example

In this case the IGMP subscribe list is to some EUREX feeds.

fmadio@fmadio100v2-228U:/opt/fmadio/analytics$ curl -k -u fmadio:**** https://127.0.0.1/api/v1/capture/igmp/get
local Port0 = {}

-- eurex
table.insert(Port0, { Group = "223.0.50.0",  Port = 17100, VLAN = nil  })      --  "eurex",
table.insert(Port0, { Group = "223.0.114.1", Port = 17101, VLAN = nil, VLANIP = "192.168.124.1"} )     --  "eurex",
table.insert(Port0, { Group = "223.0.114.2", Port = 17102, VLAN = nil, VLANIP = "192.168.124.1"} )     --  "eurex",
table.insert(Port0, { Group = "223.0.114.3", Port = 17103, VLAN = nil, VLANIP = "192.168.124.1"} )     --  "eurex",

local Port1 = {}

return { Port0, Port1, Interval = 30e9, }
fmadio@fmadio100v2-228U:/opt/fmadio/analytics$

/api/v1/capture/igmp/put

Updates the current IGMP join Lua configuration file on the system.

Address

/api/v1/capture/igmp/put

Verb

POST

Notes

There is a maximum of 1MB upload file size.

Arguments

Parameter

Description

(none)

This endpoint takes POST content of the application/json content type, and expects a schema exemplified below:

{
    "Interval": 30000000000, // number
    "Port0": [
        // zero or more objects
        {
            "Enable": true, // boolean or null (null implies `false`)
            "Comment": "hello world", // string or null (only for human documentation)
            "Group": "224.0.50.0", // string or null
            "Port": 17107, // number or null
            "VLAN": 11, // number or null
            "VLANIP": null // string or null
        }
    ], // array or null
    "Port1": [
        // zero or more objects      
    ] // array or null
}

Example

fmadio@fmadio100v2-228U:~$ curl -s -k \
  -u fmadio:***** -X POST \
  -H "Content-Type: application/json" \
  -d "$(cat my_igmp_file.json)" \
  https://127.0.0.1/api/v1/capture/igmp/put
{
  "Status": true,
  "Port0_TotalGroup": 2,
  "Port1_TotalGroup": 1
}
fmadio@fmadio100v2-228U:~$ curl -s -k -u fmadio:***** -X POST  https://127.0.0.1/api/v1/capture/igmp/put   -H "Content-Type: multipart/form-data" -F "data=@igmp" | jq
{
  "Status": true,
  "Port0_TotalGroup": 2,
  "Port1_TotalGroup": 1
}

/api/v1/capture/igmp/reset

Resets the IGMP join lua configuration to blank default state

Address

/api/v1/capture/igmp/reset

Verb

GET

Notes

Arguments

Parameter

Description

(none)

Example

fmadio@fmadio100v2-228U:~$ curl -s -k -u fmadio:***** https://127.0.0.1/api/v1/capture/igmp/reset | jq
{
 "Status": true,
  "Desc": "IGMP join file reset"
}

FMADIO Packet Capture systems