.. | .. |
---|
28 | 28 | #define MRT_TABLE (MRT_BASE+9) /* Specify mroute table ID */ |
---|
29 | 29 | #define MRT_ADD_MFC_PROXY (MRT_BASE+10) /* Add a (*,*|G) mfc entry */ |
---|
30 | 30 | #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) |
---|
32 | 33 | |
---|
33 | 34 | #define SIOCGETVIFCNT SIOCPROTOPRIVATE /* IP protocol privates */ |
---|
34 | 35 | #define SIOCGETSGCNT (SIOCPROTOPRIVATE+1) |
---|
35 | 36 | #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 */ |
---|
36 | 43 | |
---|
37 | 44 | #define MAXVIFS 32 |
---|
38 | 45 | typedef unsigned long vifbitmap_t; /* User mode code depends on this lot */ |
---|
.. | .. |
---|
106 | 113 | __u32 unused1,unused2; |
---|
107 | 114 | unsigned char im_msgtype; /* What is this */ |
---|
108 | 115 | 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 */ |
---|
111 | 118 | struct in_addr im_src,im_dst; |
---|
112 | 119 | }; |
---|
113 | 120 | |
---|
.. | .. |
---|
162 | 169 | IPMRA_CREPORT_SRC_ADDR, |
---|
163 | 170 | IPMRA_CREPORT_DST_ADDR, |
---|
164 | 171 | IPMRA_CREPORT_PKT, |
---|
| 172 | + IPMRA_CREPORT_TABLE, |
---|
165 | 173 | __IPMRA_CREPORT_MAX |
---|
166 | 174 | }; |
---|
167 | 175 | #define IPMRA_CREPORT_MAX (__IPMRA_CREPORT_MAX - 1) |
---|