summaryrefslogtreecommitdiffstats
path: root/pimd/pim_bsm.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* *: Rename `struct thread` to `struct event`Donald Sharp2023-03-241-2/+2
| | | | | | | | | Effectively a massive search and replace of `struct thread` to `struct event`. Using the term `thread` gives people the thought that this event system is a pthread when it is not Signed-off-by: Donald Sharp <sharpd@nvidia.com>
* *: auto-convert to SPDX License IDsDavid Lamparter2023-02-091-15/+1
| | | | | | Done with a combination of regex'ing and banging my head against a wall. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* pim6d: add pimv6 support for bsmmsg_grpinfosarita patra2022-07-071-0/+4
| | | | Signed-off-by: sarita patra <saritap@vmware.com>
* pim6d: add pimv6 support for bsmmsg_rpinfosarita patra2022-07-071-0/+4
| | | | Signed-off-by: sarita patra <saritap@vmware.com>
* pim6d: add pimv6 support for bsm_hdrsarita patra2022-07-071-0/+4
| | | | Signed-off-by: sarita patra <saritap@vmware.com>
* pim6d: modify in_addr current_bsr to pim_addr current_bsrsarita patra2022-07-071-1/+1
| | | | Signed-off-by: sarita patra <saritap@vmware.com>
* pim6d: Parse BSM packet for PIMv6Mobashshera Rasool2022-03-251-5/+2
| | | | | | | Modify pim_bsm_process to accomodate v4 and v6 address for parsing the received packet. Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
* pim6d: Modify pim_rp_new for pimv6Mobashshera Rasool2022-03-081-1/+1
| | | | | | Modify the api pim_rp_new to accomodate pimv6 changes. Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
* pimd: move BSM clear into BSM codeDavid Lamparter2021-11-171-5/+1
| | | | | | | ... where it actually belongs. And make a bunch of stuff static, since it's no longer used across files now. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* pimd: cleanup & convert bsm_rpinfo to TS listDavid Lamparter2021-05-031-5/+16
| | | | Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* pimd: cleanup & convert bsm_info to TS listDavid Lamparter2021-05-031-5/+16
| | | | | | | Just some cleanup before I touch this code; switching to typesafe list macros & putting the data directly inline. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* pimd: remove unused sz_timerDavid Lamparter2021-05-031-1/+0
| | | | | | | ... yes we may need it later, but if and when that happens we can put it back there. No point carrying around unused things. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* pimd : Added the command to clear the pim bsr data.vdhingra2021-01-081-0/+3
| | | | | | | | | This command has been added in the context of PIM BSM functionality. This command will clear the data structs having bsr information. Co-authored-by: Sarita Patra <saritap@vmware.com> Signed-off-by: vishaldhingra <vdhingra@vmware.com>
* pimd: Forwarding the stored BSM to new neighbor or restarted neighborsaravanank2019-05-151-0/+1
| | | | Signed-off-by: Saravanan K <saravanank@vmware.com>
* pimd: PIM Bootstrap packet processingsaravanank2019-05-151-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Packet validation as per RFC 5059 Sec 3.1.3 We won't supporting scope zone BSM as of now, they are dropped now. Order of the check slightly be changed in code for optimization. if ((DirectlyConnected(BSM.src_ip_address) == FALSE) OR (we have no Hello state for BSM.src_ip_address)) { drop the Bootstrap message silently } if (BSM.dst_ip_address == ALL-PIM-ROUTERS) { if (BSM.no_forward_bit == 0) { if (BSM.src_ip_address != RPF_neighbor(BSM.BSR_ip_address)) { drop the Bootstrap message silently } } else if ((any previous BSM for this scope has been accepted) OR (more than BS_Period has elapsed since startup)) { #only accept no-forward BSM if quick refresh on startup drop the Bootstrap message silently } } else if ((Unicast BSM support enabled) AND (BSM.dst_ip_address is one of my addresses)) { if ((any previous BSM for this scope has been accepted) OR (more than BS_Period has elapsed since startup)) { #the packet was unicast, but this wasn't #a quick refresh on startup drop the Bootstrap message silently } } else { drop the Bootstrap message silently } 2. Nexthop tracking registration for BSR 3. RPF check for BSR Message. Zebra Lookup based rpf check for new BSR NHT cache(pnc) based lookup for old BSR Signed-off-by: Saravanan K <saravanank@vmware.com>
* pimd: rp_new & rp_del split into 2 tier functions & implement rp_changesaravanank2019-05-151-25/+26
| | | | | | | | | | | | pim_rp_new split into pim_rp_new_config and pim_rp_new. pim_rp_new_config is called by CLI. pim_rp_new will be called by pim_rp_new_config and bsm rp config. pim_rp_del is split into pim_rp_del_config and pim_rp_del pim_rp_del_config is called by CLI. pim_rp_del is called by pim_rp_del_config and bsm rp config Signed-off-by: Saravanan K <saravanank@vmware.com>
* pimd: interface commands to enable/disable bsm processingsaravanank2019-05-151-1/+1
| | | | | | | | | | | | | (intf)ip pim bsm - to enable bsm processing on the interface (intf)no ip pim bsm - to disable bsm processing on the interface (intf)ip pim unicast-bsm - to enable ucast bsm processing on the interface (intf)no ip pim unicast-bsm - to disable ucast bsm processing on the interface Note: bsm processing and ucast bsm processing is enabled by default on a pim interface. The CLI is implemented as a security feature as recommended by RFC 5059 Signed-off-by: Saravanan K <saravanank@vmware.com>
* pimd: PIM BSM Processing datastructure definition/initialization/deinitsaravanank2019-05-151-0/+191
Apart from datastructure, bsm scope initialization and deinitialiation routines called during pim instance init and deinit. Also makefile changes. Signed-off-by: Saravanan K <saravanank@vmware.com>