@@ -23,7 +23,7 @@ Additionally, IGMPv2 and MLDv1 are implemented alongside with PIM-DM to detect i
...
@@ -23,7 +23,7 @@ Additionally, IGMPv2 and MLDv1 are implemented alongside with PIM-DM to detect i
# Installation
# Installation
```
```
pip3 install pim-dm
pip3 install pim-dm
```
```
...
@@ -41,11 +41,19 @@ To interact with the protocol you need to execute the `pim-dm` command. You may
...
@@ -41,11 +41,19 @@ To interact with the protocol you need to execute the `pim-dm` command. You may
In order to start the protocol you first need to explicitly start it. This will start a daemon process, which will be running in the background. The command is the following:
In order to start the protocol you first need to explicitly start it. This will start a daemon process, which will be running in the background. The command is the following:
IPv4 and IPv6 multicast is supported. By default all commands will be executed on IPv4 daemon. To execute a command on the IPv6 daemon use `-6`.
IPv4 and IPv6 multicast is supported. By default all commands will be executed on IPv4 daemon. To execute a command on the IPv6 daemon use `-6`.
We support multiple tables. Each daemon process will be bind to a given multicast and unicast table id, with can be defined at startup with `-mvrf` and `-uvrf`.
If `-mvrf` is not defined, the default multicast table id will be used (table id 0).
If `-uvrf` is not defined, the default unicast table id will be used (table id 254).
After starting the protocol process, if the default multicast table is not used, the following commands (for adding interfaces and listing state) need to have the argument `-mvrf` defined to specify the corresponding daemon process.
#### Add interface
#### Add interface
...
@@ -54,25 +62,25 @@ After starting the protocol process you can enable the protocol in specific inte
...
@@ -54,25 +62,25 @@ After starting the protocol process you can enable the protocol in specific inte
- To enable PIM-DM without State-Refresh, in a given interface, you need to run the following command:
- To enable PIM-DM without State-Refresh, in a given interface, you need to run the following command:
@@ -150,7 +160,7 @@ In order to determine which commands and corresponding arguments are available y
...
@@ -150,7 +160,7 @@ In order to determine which commands and corresponding arguments are available y
## Change settings
## Change settings
Files tree/globals.py, igmp/igmp_globals.py and mld/mld_globals.py store all timer values and some configurations regarding PIM-DM, IGMP and MLD. If you want to tune the implementation, you can change the values of these files. These configurations are used by all interfaces, meaning that there is no tuning per interface.
Files tree/pim_globals.py, igmp/igmp_globals.py and mld/mld_globals.py store all timer values and some configurations regarding PIM-DM, IGMP and MLD. If you want to tune the implementation, you can change the values of these files. These configurations are used by all interfaces, meaning that there is no tuning per interface.