summaryrefslogtreecommitdiffstats
path: root/pimd/pim_util.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* pimd,pim6d: optimize multicast prefix generationRafael Zalamena2024-12-131-1/+1
| | | | | | | | | Fix Coverity Scan CID 1602463: make it impossible for the function to fail. Hardcode the multicast prefix generation instead of calling `str2prefix()` which caused unnecessary memory allocations and returned error values. Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
* pimd,yang: Extend multicast boundary functionalityCorey Siltala2024-12-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add new interface command ip multicast boundary ACCESSLIST4_NAME. This allows filtering on both source and group using the extended access-list syntax vs. group-only as with the existing "ip multicast boundary oil" command, which uses prefix-lists. If both are configured, the prefix- list is evaluated first. The default behavior for both prefix-lists and access-lists remains "deny", so the prefix-list must have a terminating "permit" statement in order to also evaluate against the access-list. The following example denies groups in range 229.1.1.0/24 and groups in range 232.1.1.0/24 with source 10.0.20.2: ! ip prefix-list pim-oil-plist seq 10 deny 229.1.1.0/24 ip prefix-list pim-oil-plist seq 20 permit any ! access-list pim-acl seq 10 deny ip host 10.0.20.2 232.1.1.0 0.0.0.255 access-list pim-acl seq 20 permit ip any any ! interface r1-eth0 ip address 10.0.20.1/24 ip igmp ip pim ip multicast boundary oil pim-oil-plist ip multicast boundary pim-acl ! Signed-off-by: Corey Siltala <csiltala@atcorp.com>
* pimd: Move ACL handling to pim_util.cCorey Siltala2024-12-061-0/+3
| | | | | | | Move the extended access-list handling from pim_msdp_packet.c to pim_util.c to allow use elsewhere in the daemon. Signed-off-by: Corey Siltala <csiltala@atcorp.com>
* *: auto-convert to SPDX License IDsDavid Lamparter2023-02-091-14/+1
| | | | | | Done with a combination of regex'ing and banging my head against a wall. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* pimd, pim6d: Define pim_addr_is_multicast APISarita Patra2022-10-201-0/+1
| | | | | | | pim_addr_is_multicast API will check if the address is multicast address or not. Signed-off-by: Sarita Patra <saritap@vmware.com>
* pim6d: Add pim_get_all_mcast_group apiMobashshera Rasool2022-03-081-0/+1
| | | | | | | | Added this api to fill all multicast group address based on IP version. For PIMv4 its 224.0.0.0/4, for PIMv6 its FF00::0/8. Changed the code where its being used currently. Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
* pim6d: prepare SSM/filter functionsDavid Lamparter2022-02-141-1/+1
| | | | Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* pimd: add support for boundariesQuentin Young2017-09-261-0/+3
| | | | | | | | Adds the ability to filter PIM Joins & IGMP reports on an interface. Enabling a multicast boundary on an interface for a particular group will prevent the interface from appearing in the group's OIL. Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* *: reindentreindent-master-afterwhitespace / reindent2017-07-171-2/+2
| | | | | | indent.py `git ls-files | pcregrep '\.[ch]$' | pcregrep -v '^(ldpd|babeld|nhrpd)/'` Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* *: make consistent & update GPLv2 file headersDavid Lamparter2017-05-151-18/+17
| | | | | | | | | | | The FSF's address changed, and we had a mixture of comment styles for the GPL file header. (The style with * at the beginning won out with 580 to 141 in existing files.) Note: I've intentionally left intact other "variations" of the copyright header, e.g. whether it says "Zebra", "Quagga", "FRR", or nothing. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* pimd: Cleanup the headers.Donald Sharp2017-01-191-4/+0
| | | | Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* Merge remote-tracking branch 'origin/master' into pim_lib_work2Donald Sharp2017-01-181-0/+3
|\
| * build: remove $Format tagsDavid Lamparter2016-12-201-2/+0
| | | | | | | | Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* | pimd: With igmpv2 turned on don't accept 224.0.0.0/24 groupsDonald Sharp2016-12-221-0/+1
| | | | | | | | | | | | | | | | | | | | When a group is in the 224.0.0.0/24 range and we have igmp v2 turned on do not allow it to be considered for inclusion as a mroute. Ticket: CM-13855 Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> Reviewed-by:
* | pimd: Don't allow invalid groups to be passed for igmpDonald Sharp2016-12-221-0/+1
| | | | | | | | | | | | | | | | | | When we receive a invalid group( say outside of the 224/4 range) don't allow it to create state. Nicely reject the rejectable. Ticket: CM-13821 Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* | pimd: Remove unnecessary QuaggaIdDonald Sharp2016-12-221-1/+0
|/ | | | Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* pimd: merge pimd as of 2015-01-19David Lamparter2016-05-261-0/+37
Welcome pimd to the Quagga daemon zoo! This is a merge of commit 77ae369 ("pimd: Log ifindex found for an interface when zebra lib reports a new connected address."), with the intermediate "reconnect" changes removed (c9adf00...d274381). d274381 is replaced with b162ab7, which includes some changes. In addition, 4 reconnect-related changes and 1 cosmetic one have been bumped out. The rebase command used to produce the branch that is merged here is: git rebase --onto b162ab7 c9adf00 77ae369 Note that 3 patches had their author rewritten from "Anonymous SR#108542 <>" (which is not a valid git author ID) to: "Savannah SR#108542 <nbahr@atcorp.com>" (which is the e-mail address listed in the associated Savannah ticket) Signed-off-by: David Lamparter <equinox@opensourcerouting.org>