diff options
Diffstat (limited to 'net/ncsi/internal.h')
-rw-r--r-- | net/ncsi/internal.h | 34 |
1 files changed, 15 insertions, 19 deletions
diff --git a/net/ncsi/internal.h b/net/ncsi/internal.h index 8da84312cd3b..8055e3965cef 100644 --- a/net/ncsi/internal.h +++ b/net/ncsi/internal.h | |||
@@ -68,15 +68,6 @@ enum { | |||
68 | NCSI_MODE_MAX | 68 | NCSI_MODE_MAX |
69 | }; | 69 | }; |
70 | 70 | ||
71 | enum { | ||
72 | NCSI_FILTER_BASE = 0, | ||
73 | NCSI_FILTER_VLAN = 0, | ||
74 | NCSI_FILTER_UC, | ||
75 | NCSI_FILTER_MC, | ||
76 | NCSI_FILTER_MIXED, | ||
77 | NCSI_FILTER_MAX | ||
78 | }; | ||
79 | |||
80 | struct ncsi_channel_version { | 71 | struct ncsi_channel_version { |
81 | u32 version; /* Supported BCD encoded NCSI version */ | 72 | u32 version; /* Supported BCD encoded NCSI version */ |
82 | u32 alpha2; /* Supported BCD encoded NCSI version */ | 73 | u32 alpha2; /* Supported BCD encoded NCSI version */ |
@@ -98,11 +89,18 @@ struct ncsi_channel_mode { | |||
98 | u32 data[8]; /* Data entries */ | 89 | u32 data[8]; /* Data entries */ |
99 | }; | 90 | }; |
100 | 91 | ||
101 | struct ncsi_channel_filter { | 92 | struct ncsi_channel_mac_filter { |
102 | u32 index; /* Index of channel filters */ | 93 | u8 n_uc; |
103 | u32 total; /* Total entries in the filter table */ | 94 | u8 n_mc; |
104 | u64 bitmap; /* Bitmap of valid entries */ | 95 | u8 n_mixed; |
105 | u32 data[]; /* Data for the valid entries */ | 96 | u64 bitmap; |
97 | unsigned char *addrs; | ||
98 | }; | ||
99 | |||
100 | struct ncsi_channel_vlan_filter { | ||
101 | u8 n_vids; | ||
102 | u64 bitmap; | ||
103 | u16 *vids; | ||
106 | }; | 104 | }; |
107 | 105 | ||
108 | struct ncsi_channel_stats { | 106 | struct ncsi_channel_stats { |
@@ -186,7 +184,9 @@ struct ncsi_channel { | |||
186 | struct ncsi_channel_version version; | 184 | struct ncsi_channel_version version; |
187 | struct ncsi_channel_cap caps[NCSI_CAP_MAX]; | 185 | struct ncsi_channel_cap caps[NCSI_CAP_MAX]; |
188 | struct ncsi_channel_mode modes[NCSI_MODE_MAX]; | 186 | struct ncsi_channel_mode modes[NCSI_MODE_MAX]; |
189 | struct ncsi_channel_filter *filters[NCSI_FILTER_MAX]; | 187 | /* Filtering Settings */ |
188 | struct ncsi_channel_mac_filter mac_filter; | ||
189 | struct ncsi_channel_vlan_filter vlan_filter; | ||
190 | struct ncsi_channel_stats stats; | 190 | struct ncsi_channel_stats stats; |
191 | struct { | 191 | struct { |
192 | struct timer_list timer; | 192 | struct timer_list timer; |
@@ -320,10 +320,6 @@ extern spinlock_t ncsi_dev_lock; | |||
320 | list_for_each_entry_rcu(nc, &np->channels, node) | 320 | list_for_each_entry_rcu(nc, &np->channels, node) |
321 | 321 | ||
322 | /* Resources */ | 322 | /* Resources */ |
323 | u32 *ncsi_get_filter(struct ncsi_channel *nc, int table, int index); | ||
324 | int ncsi_find_filter(struct ncsi_channel *nc, int table, void *data); | ||
325 | int ncsi_add_filter(struct ncsi_channel *nc, int table, void *data); | ||
326 | int ncsi_remove_filter(struct ncsi_channel *nc, int table, int index); | ||
327 | void ncsi_start_channel_monitor(struct ncsi_channel *nc); | 323 | void ncsi_start_channel_monitor(struct ncsi_channel *nc); |
328 | void ncsi_stop_channel_monitor(struct ncsi_channel *nc); | 324 | void ncsi_stop_channel_monitor(struct ncsi_channel *nc); |
329 | struct ncsi_channel *ncsi_find_channel(struct ncsi_package *np, | 325 | struct ncsi_channel *ncsi_find_channel(struct ncsi_package *np, |