History

mcast: add multicast proxy support (IPv4 and IPv6)

This patch add the support of proxy multicast, ie being able to build a static multicast tree. It adds the support of (*,*) and (*,G) entries. The user should define an (*,*) entry which is not used for real forwarding. This entry defines the upstream in iif and contains all interfaces from the static tree in its oifs. It will be used to forward packet upstream when they come from an interface belonging to the static tree. Hence, the user should define (*,G) entries to build its static tree. Note that upstream interface must be part of oifs: packets are sent to all oifs interfaces except the input interface. This ensures to always join the whole static tree, even if the packet is not coming from the upstream interface.

Nicolas Dichtel committed 13 years ago

Commit 660b26d1 parent bbb923a4 files · +225 −28Browse files

Showing the changes to include/uapi/linux (2 of 4 files). Show all

Unified · Split

2 files
  1. include/uapi/linux/mroute.h +3 −1
  2. include/uapi/linux/mroute6.h +3 −1
include/uapi/linux/mroute.h+3−1
@@ -26,7 +26,9 @@ · 25 unmodified lines
26#define MRT_ASSERT (MRT_BASE+7) /* Activate PIM assert mode */26#define MRT_ASSERT (MRT_BASE+7) /* Activate PIM assert mode */
27#define MRT_PIM (MRT_BASE+8) /* enable PIM code */27#define MRT_PIM (MRT_BASE+8) /* enable PIM code */
28#define MRT_TABLE (MRT_BASE+9) /* Specify mroute table ID */28#define MRT_TABLE (MRT_BASE+9) /* Specify mroute table ID */
29#define MRT_MAX (MRT_BASE+9)29#define MRT_ADD_MFC_PROXY (MRT_BASE+10) /* Add a (*,*|G) mfc entry */
30#define MRT_DEL_MFC_PROXY (MRT_BASE+11) /* Del a (*,*|G) mfc entry */
31#define MRT_MAX (MRT_BASE+11)
30 32
31#define SIOCGETVIFCNT SIOCPROTOPRIVATE /* IP protocol privates */33#define SIOCGETVIFCNT SIOCPROTOPRIVATE /* IP protocol privates */
32#define SIOCGETSGCNT (SIOCPROTOPRIVATE+1)34#define SIOCGETSGCNT (SIOCPROTOPRIVATE+1)
include/uapi/linux/mroute6.h+3−1
@@ -26,7 +26,9 @@ · 25 unmodified lines
26#define MRT6_ASSERT (MRT6_BASE+7) /* Activate PIM assert mode */26#define MRT6_ASSERT (MRT6_BASE+7) /* Activate PIM assert mode */
27#define MRT6_PIM (MRT6_BASE+8) /* enable PIM code */27#define MRT6_PIM (MRT6_BASE+8) /* enable PIM code */
28#define MRT6_TABLE (MRT6_BASE+9) /* Specify mroute table ID */28#define MRT6_TABLE (MRT6_BASE+9) /* Specify mroute table ID */
29#define MRT6_MAX (MRT6_BASE+9)29#define MRT6_ADD_MFC_PROXY (MRT6_BASE+10) /* Add a (*,*|G) mfc entry */
30#define MRT6_DEL_MFC_PROXY (MRT6_BASE+11) /* Del a (*,*|G) mfc entry */
31#define MRT6_MAX (MRT6_BASE+11)
30 32
31#define SIOCGETMIFCNT_IN6 SIOCPROTOPRIVATE /* IP protocol privates */33#define SIOCGETMIFCNT_IN6 SIOCPROTOPRIVATE /* IP protocol privates */
32#define SIOCGETSGCNT_IN6 (SIOCPROTOPRIVATE+1)34#define SIOCGETSGCNT_IN6 (SIOCPROTOPRIVATE+1)

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t