Skip to content

Commit 6bf251c

Browse files
committed
Fix DHCPv4 header field name hops
The DHCPv4 header field "HardwareOpts" is misleading. This fields original name by RFC 2131, which just takes it from RFC 951, is "hops". It has never changed meaning and still reflects number of relay agents it passed, as described in RFC 951 section 8. This commit changes the name of the field "HardwareOpts" to "RelayHops".
1 parent 32ee382 commit 6bf251c

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

layers/dhcp_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,8 @@ func testDHCPEqual(t *testing.T, d1, d2 *DHCPv4) {
129129
if d1.HardwareLen != d2.HardwareLen {
130130
t.Errorf("expected HardwareLen=%v, got %v", d1.HardwareLen, d2.HardwareLen)
131131
}
132-
if d1.HardwareOpts != d2.HardwareOpts {
133-
t.Errorf("expected HardwareOpts=%v, got %v", d1.HardwareOpts, d2.HardwareOpts)
132+
if d1.RelayHops != d2.RelayHops {
133+
t.Errorf("expected RelayHops=%v, got %v", d1.RelayHops, d2.RelayHops)
134134
}
135135
if d1.Xid != d2.Xid {
136136
t.Errorf("expected Xid=%v, got %v", d1.Xid, d2.Xid)

layers/dhcpv4.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ type DHCPv4 struct {
8787
Operation DHCPOp
8888
HardwareType LinkType
8989
HardwareLen uint8
90-
HardwareOpts uint8
90+
RelayHops uint8
9191
Xid uint32
9292
Secs uint16
9393
Flags uint16
@@ -132,7 +132,7 @@ func (d *DHCPv4) DecodeFromBytes(data []byte, df gopacket.DecodeFeedback) error
132132
d.Operation = DHCPOp(data[0])
133133
d.HardwareType = LinkType(data[1])
134134
d.HardwareLen = data[2]
135-
d.HardwareOpts = data[3]
135+
d.RelayHops = data[3]
136136
d.Xid = binary.BigEndian.Uint32(data[4:8])
137137
d.Secs = binary.BigEndian.Uint16(data[8:10])
138138
d.Flags = binary.BigEndian.Uint16(data[10:12])
@@ -209,7 +209,7 @@ func (d *DHCPv4) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.Serialize
209209
d.HardwareLen = uint8(len(d.ClientHWAddr))
210210
}
211211
data[2] = d.HardwareLen
212-
data[3] = d.HardwareOpts
212+
data[3] = d.RelayHops
213213
binary.BigEndian.PutUint32(data[4:8], d.Xid)
214214
binary.BigEndian.PutUint16(data[8:10], d.Secs)
215215
binary.BigEndian.PutUint16(data[10:12], d.Flags)

0 commit comments

Comments
 (0)