summaryrefslogtreecommitdiffstats
path: root/pimd/pim_msg.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* pimd: handle endianness in pim header structureBinu Abraham2019-07-101-1/+18
| | | | | | structures with bit fields in pim_msg.h should consider endianness Signed-off-by: Binu <binu_abraham@looptelecom.com>
* pimd: Fixing encoded group & source address packing in right byte ordersaravanank2019-06-211-2/+23
| | | | | | | Position of address family and encoding type is defined wrongly in the packed structure. This will correct the position as per RFC 4601 4.9.1 Signed-off-by: Saravanan K <saravanank@vmware.com>
* pimd: PIM Msg header includes N bit as defined by RFCsaravanank2019-05-151-3/+16
| | | | | | | | This commit includes parsing of Nbit and contructing pim hdr with Nbit Adding Nbit to PIm hdr structure Adding Scope zone bit and Bidir bit to Encoded IPv4 Group Address Signed-off-by: Saravanan K <saravanank@vmware.com>
* *: reindentreindent-master-afterwhitespace / reindent2017-07-171-42/+44
| | | | | | 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: Convert pim address family from #define -> enumDonald Sharp2017-03-301-1/+5
| | | | | | | Convert the pim address family from a #define into an enum. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* pimd: Optimize group size figuring out.Donald Sharp2017-03-231-1/+1
| | | | | | | We were figuring out the group size 2 times. Figure it out 1 time and then pass it around. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* pimd: Join/Prune AggregationDonald Sharp2017-03-021-3/+3
| | | | | | | | Add the ability for PIM to send Join/Prunes as an aggregated message instead of individual messages for each S,G. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* pimd: Add packed data structures for building j/p messagesDonald Sharp2017-02-241-0/+38
| | | | | | | | | | Switch pim over to using packed data structures for building Join/Prune messages to be sent. This is a pre-cursor to the ability to handle the ability to aggregate Join/Prune messages together. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* pimd: Assume buffer size passed in is of sufficient sizeDonald Sharp2017-02-241-14/+7
| | | | | | | | | | | | | | | | | | For: pim_msg_build_header pim_msg_addr_encode_ipv4_ucast pim_msg_addr_encode_ipv4_group pim_msg_addr_encode_ipv4_source Assume that the buffer size passed in is of sufficient size already. This is assured already because buffer sizes are checked for minimum lengths for the entire packet ahead of time. So we are double checking. Additionally at scale we will be calling these functions a very very large number of times. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* pimd: Add 'struct pim_msg_header' packed data structure.Donald Sharp2017-02-241-0/+10
| | | | | | | | Add the 'struct pim_msg_header' and convert all places that encoded/decoded the message header to use it. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* Merge remote-tracking branch 'origin/master' into pim_lib_work2Donald Sharp2017-01-181-1/+0
|\
| * build: remove $Format tagsDavid Lamparter2016-12-201-2/+0
| | | | | | | | Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* | pimd: Pass in upstream to pim_msg_join_prune_encode.Donald Sharp2016-12-221-1/+1
| | | | | | | | | | | | | | | | Pass in the upstream data structure to pim_msg_join_prune_encode so it can decide to send (S,G,rpt) information if it wants to or not. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* | pimd: Revamp send of join/prune to actually set bits right.Donald Sharp2016-12-221-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | When a *,G report is sent, the RPT and WC bits are set as well as the source is the RP address for the group. If this routers idea of the RP for this group is different than the idea of the RP from the sender than that particular *,G can be dropped. Ticket: CM-12031 Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* | pimd: Start abstraction for WC and RPT bitsDonald Sharp2016-12-221-1/+6
| | | | | | | | | | | | | | Start the abstraction of the WC and RPT bits so we can send the data as appropriate. 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/+52
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>