hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/include/uapi/linux/mroute.h
....@@ -28,11 +28,18 @@
2828 #define MRT_TABLE (MRT_BASE+9) /* Specify mroute table ID */
2929 #define MRT_ADD_MFC_PROXY (MRT_BASE+10) /* Add a (*,*|G) mfc entry */
3030 #define MRT_DEL_MFC_PROXY (MRT_BASE+11) /* Del a (*,*|G) mfc entry */
31
-#define MRT_MAX (MRT_BASE+11)
31
+#define MRT_FLUSH (MRT_BASE+12) /* Flush all mfc entries and/or vifs */
32
+#define MRT_MAX (MRT_BASE+12)
3233
3334 #define SIOCGETVIFCNT SIOCPROTOPRIVATE /* IP protocol privates */
3435 #define SIOCGETSGCNT (SIOCPROTOPRIVATE+1)
3536 #define SIOCGETRPF (SIOCPROTOPRIVATE+2)
37
+
38
+/* MRT_FLUSH optional flags */
39
+#define MRT_FLUSH_MFC 1 /* Flush multicast entries */
40
+#define MRT_FLUSH_MFC_STATIC 2 /* Flush static multicast entries */
41
+#define MRT_FLUSH_VIFS 4 /* Flush multicast vifs */
42
+#define MRT_FLUSH_VIFS_STATIC 8 /* Flush static multicast vifs */
3643
3744 #define MAXVIFS 32
3845 typedef unsigned long vifbitmap_t; /* User mode code depends on this lot */
....@@ -106,8 +113,8 @@
106113 __u32 unused1,unused2;
107114 unsigned char im_msgtype; /* What is this */
108115 unsigned char im_mbz; /* Must be zero */
109
- unsigned char im_vif; /* Interface (this ought to be a vifi_t!) */
110
- unsigned char unused3;
116
+ unsigned char im_vif; /* Low 8 bits of Interface */
117
+ unsigned char im_vif_hi; /* High 8 bits of Interface */
111118 struct in_addr im_src,im_dst;
112119 };
113120
....@@ -162,6 +169,7 @@
162169 IPMRA_CREPORT_SRC_ADDR,
163170 IPMRA_CREPORT_DST_ADDR,
164171 IPMRA_CREPORT_PKT,
172
+ IPMRA_CREPORT_TABLE,
165173 __IPMRA_CREPORT_MAX
166174 };
167175 #define IPMRA_CREPORT_MAX (__IPMRA_CREPORT_MAX - 1)