mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-06 04:29:33 +00:00
![]() Two devices have special significance to multicast VxLAN tunnels - 1. tunnel origination device - This device is used as the source device to vxlan-encapsulate BUM traffic. In the case of the default-vrf this is lo. And in the case of non-default VRF this is vrf-net-device. This patchset is limited to default-VRF underlay so all subsequent references of origination-dev are to lo. But it is possible in the future to extend support to non-default VRFs. Sample origination mroute on single-VTEP: (27.0.0.7, 239.1.1.100) Iif: lo Oifs: uplink-1 In the case of MLAG we need to mroute traffic form the MLAG-peer so we force the IIF to the ISL. Sample origination mroute on MLAG-VTEP: (36.0.0.9, 239.1.1.100) Iif: peerlink-3.4094 Oifs: peerlink-3.4094 uplink-1 2. tunnel termination device - This device is used in the OIL to indicate that packets matching the flow must be vxlan terminated and overlay packets subsequently forward to the tenants. A special device has been created for this purpose called ipmr-lo. This is a simple dummy interface from the kernel perspective which has special siginficance only to pimd which implicitly enabled pim on the device and adds it to the termination mroutes. Sample termination mroute: (0.0.0.0, 239.1.1.100) Iif: uplink-1 Oifs: uplink-1 ipmr-lo PS: currently we default the termination device name to "ipmr-lo" but in the future it is possible to provide a config command to set the termination device. Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com> |
||
---|---|---|
.. | ||
.gitignore | ||
AUTHORS | ||
CAVEATS | ||
COMMANDS | ||
COPYING | ||
DEBUG | ||
LINUX_KERNEL_MROUTE_MFC | ||
Makefile | ||
mtracebis_netlink.c | ||
mtracebis_netlink.h | ||
mtracebis_routeget.c | ||
mtracebis_routeget.h | ||
mtracebis.c | ||
pim_assert.c | ||
pim_assert.h | ||
pim_bfd.c | ||
pim_bfd.h | ||
pim_br.c | ||
pim_br.h | ||
pim_cmd.c | ||
pim_cmd.h | ||
pim_errors.c | ||
pim_errors.h | ||
pim_hello.c | ||
pim_hello.h | ||
pim_iface.c | ||
pim_iface.h | ||
pim_ifchannel.c | ||
pim_ifchannel.h | ||
pim_igmp_join.h | ||
pim_igmp_mtrace.c | ||
pim_igmp_mtrace.h | ||
pim_igmp_stats.c | ||
pim_igmp_stats.h | ||
pim_igmp.c | ||
pim_igmp.h | ||
pim_igmpv2.c | ||
pim_igmpv2.h | ||
pim_igmpv3.c | ||
pim_igmpv3.h | ||
pim_instance.c | ||
pim_instance.h | ||
pim_int.c | ||
pim_int.h | ||
pim_join.c | ||
pim_join.h | ||
pim_jp_agg.c | ||
pim_jp_agg.h | ||
pim_macro.c | ||
pim_macro.h | ||
pim_main.c | ||
pim_memory.c | ||
pim_memory.h | ||
pim_mroute.c | ||
pim_mroute.h | ||
pim_msdp_packet.c | ||
pim_msdp_packet.h | ||
pim_msdp_socket.c | ||
pim_msdp_socket.h | ||
pim_msdp.c | ||
pim_msdp.h | ||
pim_msg.c | ||
pim_msg.h | ||
pim_neighbor.c | ||
pim_neighbor.h | ||
pim_nht.c | ||
pim_nht.h | ||
pim_oil.c | ||
pim_oil.h | ||
pim_pim.c | ||
pim_pim.h | ||
pim_register.c | ||
pim_register.h | ||
pim_routemap.c | ||
pim_rp.c | ||
pim_rp.h | ||
pim_rpf.c | ||
pim_rpf.h | ||
pim_signals.c | ||
pim_signals.h | ||
pim_sock.c | ||
pim_sock.h | ||
pim_ssm.c | ||
pim_ssm.h | ||
pim_ssmpingd.c | ||
pim_ssmpingd.h | ||
pim_static.c | ||
pim_static.h | ||
pim_str.c | ||
pim_str.h | ||
pim_time.c | ||
pim_time.h | ||
pim_tlv.c | ||
pim_tlv.h | ||
pim_upstream.c | ||
pim_upstream.h | ||
pim_util.c | ||
pim_util.h | ||
pim_version.c | ||
pim_version.h | ||
pim_vty.c | ||
pim_vty.h | ||
pim_vxlan_instance.h | ||
pim_vxlan.c | ||
pim_vxlan.h | ||
pim_zebra.c | ||
pim_zebra.h | ||
pim_zlookup.c | ||
pim_zlookup.h | ||
pimd.c | ||
pimd.conf.sample | ||
pimd.h | ||
README | ||
subdir.am | ||
test_igmpv3_join.c | ||
TODO | ||
TROUBLESHOOTING |
INTRODUCTION qpimd aims to implement a PIM (Protocol Independent Multicast) daemon for the FRR Routing Suite. qpimd implements PIM-SM (Sparse Mode) of RFC 4601. Additionally MSDP has been implemented. In order to deliver end-to-end multicast routing control plane, qpimd includes the router-side of IGMPv[2|3] (RFC 3376). LICENSE qpimd - pimd for FRR Copyright (C) 2008 Everton da Silva Marques qpimd is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. qpimd is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with qpimd; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. HOME SITE qpimd lives at: https://github.com/freerangerouting/frr PLATFORMS qpimd has been tested with Debian Jessie. REQUIREMENTS qpimd requires FRR (2.0 or higher) CONFIGURATION COMMANDS See available commands in the file pimd/COMMANDS. KNOWN CAVEATS See list of known caveats in the file pimd/CAVEATS. SUPPORT Please post comments, questions, patches, bug reports at the support site: https://freerangerouting/frr RELATED WORK igmprt: An IGMPv3-router implementation - http://www.loria.fr/~lahmadi/igmpv3-router.html USC pimd: PIMv2-SM daemon - http://netweb.usc.edu/pim/pimd (URL broken in 2008-12-23) - http://packages.debian.org/source/sid/pimd (from Debian) troglobit pimd: This is the original USC pimd from http://netweb.usc.edu/pim/. In January 16, 2010 it was revived with the intention to collect patches floating around in Debian, Gentoo, Lintrack and other distribution repositories and to provide a central point of collaboration. - http://github.com/troglobit/pimd zpimd: zpimd is not dependent of zebra or any other routing daemon - ftp://robur.slu.se/pub/Routing/Zebra - http://sunsite2.icm.edu.pl/pub/unix/routing/zpimd mrd6: an IPv6 Multicast Router for Linux systems - http://fivebits.net/proj/mrd6/ MBGP: Implementation of RFC 2858 for Quagga - git://git.coplanar.net/~balajig/quagga - http://www.gossamer-threads.com/lists/quagga/dev/18000 REFERENCES IANA Protocol Independent Multicast (PIM) Parameters http://www.iana.org/assignments/pim-parameters/pim-parameters.txt Address Family Numbers http://www.iana.org/assignments/address-family-numbers -- END --