Skip to content

Commit 91fc626

Browse files
committed
isis: remove Eq derives from packet structs
Remove `Eq` derives from packet structs to support upcoming TLVs and Sub-TLVs with float values. The good news is that `Eq` isn't necessary for these structs anyway. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
1 parent 432f1af commit 91fc626

File tree

2 files changed

+36
-36
lines changed

2 files changed

+36
-36
lines changed

holo-isis/src/packet/pdu.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ use crate::packet::{
3737
};
3838

3939
// IS-IS PDU.
40-
#[derive(Clone, Debug, Eq, PartialEq)]
40+
#[derive(Clone, Debug, PartialEq)]
4141
#[derive(Deserialize, Serialize)]
4242
pub enum Pdu {
4343
Hello(Hello),
@@ -46,15 +46,15 @@ pub enum Pdu {
4646
}
4747

4848
// IS-IS PDU common header.
49-
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
49+
#[derive(Clone, Copy, Debug, PartialEq)]
5050
#[derive(Deserialize, Serialize)]
5151
pub struct Header {
5252
pub pdu_type: PduType,
5353
pub max_area_addrs: u8,
5454
}
5555

5656
// IS-IS Hello PDU.
57-
#[derive(Clone, Debug, Eq, PartialEq)]
57+
#[derive(Clone, Debug, PartialEq)]
5858
#[derive(Deserialize, Serialize)]
5959
pub struct Hello {
6060
pub hdr: Header,
@@ -65,14 +65,14 @@ pub struct Hello {
6565
pub tlvs: HelloTlvs,
6666
}
6767

68-
#[derive(Clone, Debug, Eq, PartialEq)]
68+
#[derive(Clone, Debug, PartialEq)]
6969
#[derive(Deserialize, Serialize)]
7070
pub enum HelloVariant {
7171
Lan { priority: u8, lan_id: LanId },
7272
P2P { local_circuit_id: u8 },
7373
}
7474

75-
#[derive(Clone, Debug, Default, Eq, PartialEq)]
75+
#[derive(Clone, Debug, Default, PartialEq)]
7676
#[derive(Deserialize, Serialize)]
7777
pub struct HelloTlvs {
7878
pub protocols_supported: Option<ProtocolsSupportedTlv>,
@@ -85,7 +85,7 @@ pub struct HelloTlvs {
8585
}
8686

8787
// IS-IS Link State PDU.
88-
#[derive(Clone, Debug, Eq, PartialEq)]
88+
#[derive(Clone, Debug, PartialEq)]
8989
#[derive(Deserialize, Serialize)]
9090
pub struct Lsp {
9191
pub hdr: Header,
@@ -103,7 +103,7 @@ pub struct Lsp {
103103
pub base_time: Option<Instant>,
104104
}
105105

106-
#[derive(Clone, Debug, Default, Eq, PartialEq)]
106+
#[derive(Clone, Debug, Default, PartialEq)]
107107
#[derive(Deserialize, Serialize)]
108108
pub struct LspTlvs {
109109
pub auth: Option<AuthenticationTlv>,
@@ -125,7 +125,7 @@ pub struct LspTlvs {
125125
}
126126

127127
// IS-IS Sequence Numbers PDU.
128-
#[derive(Clone, Debug, Eq, PartialEq)]
128+
#[derive(Clone, Debug, PartialEq)]
129129
#[derive(Deserialize, Serialize)]
130130
pub struct Snp {
131131
pub hdr: Header,
@@ -134,7 +134,7 @@ pub struct Snp {
134134
pub tlvs: SnpTlvs,
135135
}
136136

137-
#[derive(Clone, Debug, Default, Eq, PartialEq)]
137+
#[derive(Clone, Debug, Default, PartialEq)]
138138
#[derive(Deserialize, Serialize)]
139139
pub struct SnpTlvs {
140140
pub lsp_entries: Vec<LspEntriesTlv>,

holo-isis/src/packet/tlv.rs

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -64,68 +64,68 @@ pub trait MultiTlv: From<Vec<Self::Entry>> {
6464
}
6565
}
6666

67-
#[derive(Clone, Debug, Eq, PartialEq)]
67+
#[derive(Clone, Debug, PartialEq)]
6868
#[derive(Deserialize, Serialize)]
6969
pub struct AreaAddressesTlv {
7070
pub list: Vec<AreaAddr>,
7171
}
7272

73-
#[derive(Clone, Debug, Eq, PartialEq)]
73+
#[derive(Clone, Debug, PartialEq)]
7474
#[derive(Deserialize, Serialize)]
7575
pub struct NeighborsTlv {
7676
pub list: Vec<[u8; 6]>,
7777
}
7878

79-
#[derive(Clone, Debug, Eq, PartialEq)]
79+
#[derive(Clone, Debug, PartialEq)]
8080
#[derive(Deserialize, Serialize)]
8181
pub struct PaddingTlv {
8282
pub length: u8,
8383
}
8484

85-
#[derive(Clone, Debug, Eq, PartialEq)]
85+
#[derive(Clone, Debug, PartialEq)]
8686
#[derive(Deserialize, Serialize)]
8787
pub enum AuthenticationTlv {
8888
ClearText(Vec<u8>),
8989
HmacMd5([u8; 16]),
9090
}
9191

92-
#[derive(Clone, Debug, Eq, PartialEq)]
92+
#[derive(Clone, Debug, PartialEq)]
9393
#[derive(Deserialize, Serialize)]
9494
pub struct LspBufferSizeTlv {
9595
pub size: u16,
9696
}
9797

98-
#[derive(Clone, Debug, Eq, PartialEq)]
98+
#[derive(Clone, Debug, PartialEq)]
9999
#[derive(Deserialize, Serialize)]
100100
pub struct DynamicHostnameTlv {
101101
pub hostname: String,
102102
}
103103

104-
#[derive(Clone, Debug, Eq, PartialEq)]
104+
#[derive(Clone, Debug, PartialEq)]
105105
#[derive(Deserialize, Serialize)]
106106
pub struct ProtocolsSupportedTlv {
107107
pub list: Vec<u8>,
108108
}
109109

110-
#[derive(Clone, Debug, Eq, PartialEq)]
110+
#[derive(Clone, Debug, PartialEq)]
111111
#[derive(Deserialize, Serialize)]
112112
pub struct Ipv4AddressesTlv {
113113
pub list: Vec<Ipv4Addr>,
114114
}
115115

116-
#[derive(Clone, Debug, Eq, PartialEq)]
116+
#[derive(Clone, Debug, PartialEq)]
117117
#[derive(Deserialize, Serialize)]
118118
pub struct Ipv6AddressesTlv {
119119
pub list: Vec<Ipv6Addr>,
120120
}
121121

122-
#[derive(Clone, Debug, Eq, PartialEq)]
122+
#[derive(Clone, Debug, PartialEq)]
123123
#[derive(Deserialize, Serialize)]
124124
pub struct LspEntriesTlv {
125125
pub list: Vec<LspEntry>,
126126
}
127127

128-
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
128+
#[derive(Clone, Copy, Debug, PartialEq)]
129129
#[derive(Deserialize, Serialize)]
130130
pub struct LspEntry {
131131
pub rem_lifetime: u16,
@@ -134,13 +134,13 @@ pub struct LspEntry {
134134
pub cksum: u16,
135135
}
136136

137-
#[derive(Clone, Debug, Eq, PartialEq)]
137+
#[derive(Clone, Debug, PartialEq)]
138138
#[derive(Deserialize, Serialize)]
139139
pub struct IsReachTlv {
140140
pub list: Vec<IsReach>,
141141
}
142142

143-
#[derive(Clone, Debug, Eq, PartialEq)]
143+
#[derive(Clone, Debug, PartialEq)]
144144
#[derive(Deserialize, Serialize)]
145145
pub struct IsReach {
146146
pub metric: u8,
@@ -150,33 +150,33 @@ pub struct IsReach {
150150
pub neighbor: LanId,
151151
}
152152

153-
#[derive(Clone, Debug, Eq, PartialEq)]
153+
#[derive(Clone, Debug, PartialEq)]
154154
#[derive(Deserialize, Serialize)]
155155
pub struct ExtIsReachTlv {
156156
pub list: Vec<ExtIsReach>,
157157
}
158158

159-
#[derive(Clone, Debug, Eq, PartialEq)]
159+
#[derive(Clone, Debug, PartialEq)]
160160
#[derive(Deserialize, Serialize)]
161161
pub struct ExtIsReach {
162162
pub neighbor: LanId,
163163
pub metric: u32,
164164
pub sub_tlvs: ExtIsReachSubTlvs,
165165
}
166166

167-
#[derive(Clone, Debug, Default, Eq, PartialEq)]
167+
#[derive(Clone, Debug, Default, PartialEq)]
168168
#[derive(Deserialize, Serialize)]
169169
pub struct ExtIsReachSubTlvs {
170170
pub unknown: Vec<UnknownTlv>,
171171
}
172172

173-
#[derive(Clone, Debug, Eq, PartialEq)]
173+
#[derive(Clone, Debug, PartialEq)]
174174
#[derive(Deserialize, Serialize)]
175175
pub struct Ipv4ReachTlv {
176176
pub list: Vec<Ipv4Reach>,
177177
}
178178

179-
#[derive(Clone, Debug, Eq, PartialEq)]
179+
#[derive(Clone, Debug, PartialEq)]
180180
#[derive(Deserialize, Serialize)]
181181
pub struct Ipv4Reach {
182182
pub ie_bit: bool,
@@ -187,13 +187,13 @@ pub struct Ipv4Reach {
187187
pub prefix: Ipv4Network,
188188
}
189189

190-
#[derive(Clone, Debug, Eq, PartialEq)]
190+
#[derive(Clone, Debug, PartialEq)]
191191
#[derive(Deserialize, Serialize)]
192192
pub struct ExtIpv4ReachTlv {
193193
pub list: Vec<ExtIpv4Reach>,
194194
}
195195

196-
#[derive(Clone, Debug, Eq, PartialEq)]
196+
#[derive(Clone, Debug, PartialEq)]
197197
#[derive(Deserialize, Serialize)]
198198
pub struct ExtIpv4Reach {
199199
pub metric: u32,
@@ -202,19 +202,19 @@ pub struct ExtIpv4Reach {
202202
pub sub_tlvs: ExtIpv4ReachSubTlvs,
203203
}
204204

205-
#[derive(Clone, Debug, Default, Eq, PartialEq)]
205+
#[derive(Clone, Debug, Default, PartialEq)]
206206
#[derive(Deserialize, Serialize)]
207207
pub struct ExtIpv4ReachSubTlvs {
208208
pub unknown: Vec<UnknownTlv>,
209209
}
210210

211-
#[derive(Clone, Debug, Eq, PartialEq)]
211+
#[derive(Clone, Debug, PartialEq)]
212212
#[derive(Deserialize, Serialize)]
213213
pub struct Ipv6ReachTlv {
214214
pub list: Vec<Ipv6Reach>,
215215
}
216216

217-
#[derive(Clone, Debug, Eq, PartialEq)]
217+
#[derive(Clone, Debug, PartialEq)]
218218
#[derive(Deserialize, Serialize)]
219219
pub struct Ipv6Reach {
220220
pub metric: u32,
@@ -224,23 +224,23 @@ pub struct Ipv6Reach {
224224
pub sub_tlvs: Ipv6ReachSubTlvs,
225225
}
226226

227-
#[derive(Clone, Debug, Default, Eq, PartialEq)]
227+
#[derive(Clone, Debug, Default, PartialEq)]
228228
#[derive(Deserialize, Serialize)]
229229
pub struct Ipv6ReachSubTlvs {
230230
pub unknown: Vec<UnknownTlv>,
231231
}
232232

233-
#[derive(Clone, Debug, Eq, PartialEq)]
233+
#[derive(Clone, Debug, PartialEq)]
234234
#[derive(new)]
235235
#[derive(Deserialize, Serialize)]
236236
pub struct Ipv4RouterIdTlv(Ipv4Addr);
237237

238-
#[derive(Clone, Debug, Eq, PartialEq)]
238+
#[derive(Clone, Debug, PartialEq)]
239239
#[derive(new)]
240240
#[derive(Deserialize, Serialize)]
241241
pub struct Ipv6RouterIdTlv(Ipv6Addr);
242242

243-
#[derive(Clone, Debug, Eq, PartialEq)]
243+
#[derive(Clone, Debug, PartialEq)]
244244
#[derive(new)]
245245
#[derive(Deserialize, Serialize)]
246246
pub struct UnknownTlv {

0 commit comments

Comments
 (0)