{"id":16164256,"url":"https://github.com/troglobit/pimd-dense","last_synced_at":"2025-06-22T19:08:22.597Z","repository":{"id":65612855,"uuid":"263894822","full_name":"troglobit/pimd-dense","owner":"troglobit","description":"Continuation of the original pimd-dense from 1998-1999, gaps filled with frog DNA from pimd","archived":false,"fork":false,"pushed_at":"2025-06-01T18:24:21.000Z","size":878,"stargazers_count":19,"open_issues_count":2,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-06-22T19:07:51.263Z","etag":null,"topics":["bsd","dense","linux","multicast","multicast-routing","pim","pim-dm","pimd-dense","pimdd","router","unix"],"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.md","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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["troglobit"]}},"created_at":"2020-05-14T11:21:42.000Z","updated_at":"2025-06-01T18:21:41.000Z","dependencies_parsed_at":"2025-06-05T09:34:10.763Z","dependency_job_id":"9ff55ffe-b4b6-4cfe-a93d-cbbd1f025baf","html_url":"https://github.com/troglobit/pimd-dense","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/troglobit/pimd-dense","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/troglobit%2Fpimd-dense","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/troglobit%2Fpimd-dense/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/troglobit%2Fpimd-dense/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/troglobit%2Fpimd-dense/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/troglobit","download_url":"https://codeload.github.com/troglobit/pimd-dense/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/troglobit%2Fpimd-dense/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261348750,"owners_count":23145313,"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":["bsd","dense","linux","multicast","multicast-routing","pim","pim-dm","pimd-dense","pimdd","router","unix"],"created_at":"2024-10-10T02:45:57.291Z","updated_at":"2025-06-22T19:08:17.519Z","avatar_url":"https://github.com/troglobit.png","language":"C","funding_links":["https://github.com/sponsors/troglobit"],"categories":[],"sub_categories":[],"readme":"PIM-DM Multicast Routing for UNIX\n=================================\n[![Badge][]][License] [![CIstat][]][GitHub] [![Cstat][]][Scan]\n\nIntroduction\n------------\n\npimdd is the dense-mode cousin to [pimd][], the reference implementation\nfor [PIM-DM draft 5][draft].  Later revised in [RFC3973][], which pimdd\ndoes not (yet) fully support.\n\nPIM-DM is similar to DVRMP ([mrouted][]), they are both flood-and-prune\nmulticast routing protocols, but unlike DVMRP, PIM implementations rely\non the underlying unicast routes to be established already.\n\nThis GitHub project is an attempt at reviving pimdd.  The latest code on\nthe master branch has been infused with fresh DNA strands from the\n[pimd][] project, including a netlink back-end to read the unicast\nrouting table, and full IGMPv3 support (ASM).\n\n\u003e **HELP NEEDED:** The project needs more volunteers to test and update\n\u003e `pimdd` to RFC3973.\n\n\nRunning pimdd\n-------------\n\nIf you have more than one router, you need to have unicast routing set\nup already between all subnets.  Usually an IGP like OSPF or even RIP\nis used for this.  Then start pimdd as root, it backgrounds itself as\na proper UNIX daemon:\n\n    pimdd\n\nUse the `pimctl` control tool (shared with pimd) to query status.  The\nproject also ships a systemd unit file that allows for customization of\ncommand line arguments using an environment file: `/etc/default/pimdd`.\n\nSee the manual pages for details on command line options, config file\nsettings, and the `pimctl` control tool:\n\n  - https://man.troglobit.com/man8/pimdd.8.html\n  - https://man.troglobit.com/man8/pimctl.8.html\n  - https://man.troglobit.com/man5/pimdd.conf.5.html\n\nTo help out with development, or tracking down bugs, it is recommended\nto run pimdd in debug mode.  Since there are many debug messages, you\ncan specify only a subset of the messages to be printed out:\n\n```\nUsage: pimdd [-hnpqrsv] [-d SYS[,SYS]] [-f FILE] [-l LVL] [-w SEC]\n\n -d SYS    Enable debug of subsystem(s)\n -f FILE   Configuration file, default: /etc/pimdd.conf\n -h        This help text\n -i NAME   Identity for config + PID file, and syslog, default: pimdd\n -l LVL    Set log level: none, err, notice (default), info, debug\n -n        Run in foreground, do not detach from calling terminal\n -p FILE   Override PID file, default is based on identity, -i\n -s        Use syslog, default unless running in foreground, -n\n -u FILE   Override UNIX domain socket, default based on identity, -i\n -v        Show program version\n -w SEC    Initial startup delay before probing interfaces\n\nAvailable subystems for debug:\n  all, igmp, groups, igmp_proto, igmp_timers, igmp_members, interfaces, \n  kernel, mfc, neighbors, pkt, rsrr, pim, asserts, bsr, detail, graft, hello, \n  registers, routes, pim_routes, jp, pim_timers, rpf, timers, timeout, trace\n```\n\nIf you want to see all messages, use `pimdd -d all`.  When debugging\n`pimdd`, it is recommended to run in foreground as well.\n\n\nBuild \u0026 Install\n---------------\n\nWhen building from a released tarball, the configure script is bundled\nand you do not need to do anything special (see below for building from\nGIT).  The Makefile supports de facto standard settings and environment\nvariables such as `--prefix=PATH` and `DESTDIR=` for the install\nprocess.  E.g., to install pimd to `/usr` instead of the default\n`/usr/local`, but redirect install to a package directory in `/tmp`:\n\n    ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var\n    make\n    make DESTDIR=/tmp/pimd-dense-1.0.0 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][build]:\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/pimd-dense.git\n    cd pimd-dense/\n    ./autogen.sh\n    ./configure \u0026\u0026 make\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 code is old and was sort of dead and forgotten.  The only project\nthat kept it running was FreeBSD in their ports collection.  As such it\nwas included in the BSD Router Project.\n\npimdd was written by Kurt Windisch when he was at University of Oregon.\nIt is based on the PIM sparse-mode daemon, pimd, which in turn is based\non the DVMRP daemon mrouted.\n\npimdd is covered by [LICENSE](LICENSE), Copyright 1998 the University of\nOregon.\n\npimd is covered by [LICENSE.pimd](doc/LICENSE.pimd), Copyright 1998-2001\nUniversity of Southern California.\n\nmrouted is covered by [LICENSE.mrouted](doc/LICENSE.mrouted), Copyright\n2002 The Board of Trustees of Leland Stanford Junior University\n\n[mrouted]: https://github.com/troglobit/mrouted\n[pimd]:    https://github.com/troglobit/pimd\n[draft]:   https://github.com/troglobit/pimd-dense/blob/master/doc/draft-ietf-idmr-pim-dm-spec-05.txt\n[RFC3973]: https://tools.ietf.org/html/rfc3973\n[License]: https://en.wikipedia.org/wiki/BSD_licenses\n[Badge]:   https://img.shields.io/badge/License-BSD%203--Clause-blue.svg\n[GitHub]:  https://github.com/troglobit/pimd-dense/actions/workflows/build.yml/\n[CIstat]:  https://github.com/troglobit/pimd-dense/actions/workflows/build.yml/badge.svg\n[build]:   https://autotools.io/\n[Scan]:    https://scan.coverity.com/projects/troglobit-pimd-dense\n[Cstat]:   https://scan.coverity.com/projects/21569/badge.svg\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftroglobit%2Fpimd-dense","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftroglobit%2Fpimd-dense","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftroglobit%2Fpimd-dense/lists"}