{"id":16164255,"url":"https://github.com/troglobit/pim6sd","last_synced_at":"2025-03-18T22:31:28.640Z","repository":{"id":43476189,"uuid":"183880632","full_name":"troglobit/pim6sd","owner":"troglobit","description":"PIM-SM/SSM daemon for IPv6","archived":false,"fork":false,"pushed_at":"2024-12-14T21:49:16.000Z","size":594,"stargazers_count":21,"open_issues_count":9,"forks_count":9,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-02-28T12:46:04.081Z","etag":null,"topics":["ipv6","multicast","multicast-routing","pim","pim-sm","pim-ssm","routing"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/troglobit.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":["troglobit"]}},"created_at":"2019-04-28T08:37:06.000Z","updated_at":"2024-12-14T21:49:21.000Z","dependencies_parsed_at":"2022-07-10T03:16:30.069Z","dependency_job_id":null,"html_url":"https://github.com/troglobit/pim6sd","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/troglobit%2Fpim6sd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/troglobit%2Fpim6sd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/troglobit%2Fpim6sd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/troglobit%2Fpim6sd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/troglobit","download_url":"https://codeload.github.com/troglobit/pim6sd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243955193,"owners_count":20374369,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ipv6","multicast","multicast-routing","pim","pim-sm","pim-ssm","routing"],"created_at":"2024-10-10T02:45:56.695Z","updated_at":"2025-03-18T22:31:28.260Z","avatar_url":"https://github.com/troglobit.png","language":"C","funding_links":["https://github.com/sponsors/troglobit"],"categories":[],"sub_categories":[],"readme":"PIM-SM/SSM IPv6 Multicast Routing for UNIX\n==========================================\n\npim6sd is an IPv6 Protocol Independent Multicast routing daemon, which\nsupports both Any-Source as well as Source-Specific Multicast, also known\nas PIM-SM and PIM-SSM.\n\npim6sd stems from pim6dd, which was originally based on [pimd][], which\nin turn was based on [mrouted][].\n\n\u003e **Note:** `pim6sd` currently requires a configuration file to start.\n\n\nTroubleshooting\n---------------\n\nHaving successfully built `pim6sd` (see below), starting it for the\nfirst time might be confusing:\n\n- What happened?\n- Where to look for status?\n- Why isn't it routing?\n\nFirst of all, `pim6sd` is a UNIX daemon.  By default it starts in the\nbackground and only logs warnings and errors to syslog.\n\nSecond, you might want to start it in debug mode, with a reduced .conf\nfile.  See the `pim6sd.conf.sample` and pim6sd.conf(5) man page for\nhelp.\n\n    cp pim6sd.conf.sample pim6sd.conf\n    sudo pim6sd -f pim6sd.conf -n -d all\n\nThis starts `pim6sd` with the local `pim6sd.conf` in the foreground,\nenabling *all* debug messages.  When running in the foreground the debug\nmessages are shown (unthrottled) in the same terminal.  Periodically the\nstate of interfaces and routing tables are shown in this debug log.\n\nTo see pim6sd status when running in the background, send `SIGUSR1` to\nthe PID, it is saved in `/var/run/pim6sd.pid` when the daemon has\nstarted successfully.  The status is found in `/var/run/pim6sd.dump`.\nYou can also use the `pim6stat` script, which does all this for you.\n\nThe single most common problem when dealing with multicast routing is\nthe TTL of the multicast to be routed.  If the TTL is 1 the data will\nbe dropped by the kernel -- this is not a problem of pim6sd.\n\nAnother problem, which perhaps is not as common, is systems with lots of\ninterfaces.  The kernel multicast routing stack is (usually) limited to\nMAX 32 \"virtual\" interfaces.  These \"VIFs\" are enumerated by the daemon\nat startup based on either the contents of the `pim6sd.conf` or querying\nthe kernel for available interfaces.  Should you run into problems with\nthis, use the following construct in your .conf file to ensure multicast\nrouting is only enabled between your `foo` and `bar` interfaces:\n\n    default_phyint_status disable;\n    phyint foo enable;\n    phyint bar enable;\n\nMore helpful tips and information is available in the man pages:\n\n- pim6sd(8)\n- pim6sd.conf(5)\n\n\nBuild \u0026 Install\n---------------\n\nThe configure script and Makefile supports de facto standard options\nsuch as `--prefix=PATH`.  E.g., to install pim6sd to `/usr` instead of\nthe default `/usr/local`, with `/etc` for .conf file(s) and `/var` for\nPID and status dump files:\n\n    ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var\n    make\n    sudo make install-strip\n\n\nBuilding from GIT\n-----------------\n\nIf you want to contribute, or simply just try out the latest but\nunreleased features, then you need to know a few things about the\n[GNU build system][buildsystem]:\n\n- `configure.ac` and a per-directory `Makefile.am` are key files\n- `configure` and `Makefile.in` are generated from `autogen.sh`\n- `Makefile` is generated by `configure` script\n\nTo build from GIT you first need to clone the repository and run the\n`autogen.sh` script.  This requires `automake` and `autoconf` to be\ninstalled on your system.\n\n    git clone https://github.com/troglobit/pim6sd.git\n    cd pim6sd/\n    ./autogen.sh\n    ./configure \u0026\u0026 make\n    sudo make install-strip\n\nGIT sources are a moving target and are not recommended for production\nsystems, unless you know what you are doing!\n\n\nOrigin \u0026 References\n-------------------\n\nThis project was forked from [mcast-tools][] to focus on pim6sd only.\n\n[pimd]:        http://github.com/troglobit/pimd\n[mrouted]:     http://github.com/troglobit/mrouted\n[mcast-tools]: https://github.com/F0rth/mcast-tools\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftroglobit%2Fpim6sd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftroglobit%2Fpim6sd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftroglobit%2Fpim6sd/lists"}