45-3
Software Configuration Guide—Release 15.0(2)SG
OL-23818-01
Chapter 45 Configuring DHCP Snooping, IP Source Guard, and IPSG for Static Hosts About DHCP Snooping
The mechanism for the database agent stores the bindings in a file at a configured location. Upon reload,
the switch reads the file to build the database for the bindings. The switch keeps the file current by
writing to the file as the database changes.
The format of the file that contains the bindings is as follows:
<initial-checksum>
TYPE DHCP-SNOOPING
VERSION 1
BEGIN
<entry-1> <checksum-1>
<entry-2> <checksum-1-2>
...
...
<entry-n> <checksum-1-2-..-n>
END
Each entry in the file is tagged with a checksum that is used to validate the entries whenever the file is
read. The <initial-checksum> entry on the first line helps distinguish entries associated with the latest
write from entries that are associated with a previous write.
it is a sample bindings file:
3ebe1518
TYPE DHCP-SNOOPING
VERSION 1
BEGIN
1.1.1.1 512 0001.0001.0005 3EBE2881 Gi1/1 e5e1e733
1.1.1.1 512 0001.0001.0002 3EBE2881 Gi1/1 4b3486ec
1.1.1.1 1536 0001.0001.0004 3EBE2881 Gi1/1 f0e02872
1.1.1.1 1024 0001.0001.0003 3EBE2881 Gi1/1 ac41adf9
1.1.1.1 1 0001.0001.0001 3EBE2881 Gi1/1 34b3273e
END
Each entry holds an IP address, VLAN, MAC address, lease time (in hex), and the interface associated
with a binding. At the end of each entry is a checksum that accounts for all the bytes from the start of
the file through all the bytes associated with the entry. Each entry consists of 72 bytes of data, followed
by a space, followed by a checksum.
Upon bootup, when the calculated checksum equals the stored checksum, a switch reads entries from the
file and adds the bindings to the DHCP snooping database. When the calculated checksum does not equal
the stored checksum, the entry read from the file is ignored and so are all the entries following the failed
entry. The switch also ignores all those entries from the file whose lease time has expired. (This situation
is possible because the lease time might indicate an expired time.) An entry from the file is also ignored
if the interface referred to in the entry no longer exists on the system or if it is a router port or a DHCP
snooping-trusted interface.
When a switch learns of new bindings or when it loses some bindings, the switch writes the modified set
of entries from the snooping database to the file. The writes are performed with a configurable delay to
batch as many changes as possible before the actual write happens. Associated with each transfer is a
timeout after which a transfer is aborted if it is not completed. These timers are referred to as the write
delay and abort timeout.