Using context-sensitive intelligent diffs to modify router configurations
First Claim
1. A computer-implemented method for modifying a second configuration state of a network device based on a first configuration state of the network device, the method comprising:
- inputting a programmatic diff file produced by comparing a second configuration file representing the second configuration state of the network device to a first configuration file representing the first configuration state of a network device, wherein the inputting includes adding a symbol indicating that a command line has been added next to a command line contained in the second configuration file that is not contained in the first configuration file;
replacing the symbol indicating a command line has been added with a symbol indicating a command line should not be executed;
for occurrences in the programmatic diff file where two symbols indicating a command line should not be executed are assigned to the same command line, removing both symbols indicating the command line should not be executed; and
modifying the second configuration state based upon commands in the programmatic diff file.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and devices are disclosed for changing the configuration state of a network device such as a router, a switch or a similar device without the need for a person to interpret a textual diff. According to some aspects of the invention, a programmatic diff file that includes the output of two comparisons is used as an input file to a program that “rolls back” the current configuration state to a prior configuration state. According to other aspects of the invention, the output of a single comparison is input to an “incremental diff” process, which adds new commands to a configuration state. According to preferred aspects of the invention, the output files generated by the comparison processes preserve the hierarchical context of each command in a programmatic format that is usable as direct input by the network device or by another device (such as a host controlled by a network administrator) that performs the incremental diff.
-
Citations
38 Claims
-
1. A computer-implemented method for modifying a second configuration state of a network device based on a first configuration state of the network device, the method comprising:
-
inputting a programmatic diff file produced by comparing a second configuration file representing the second configuration state of the network device to a first configuration file representing the first configuration state of a network device, wherein the inputting includes adding a symbol indicating that a command line has been added next to a command line contained in the second configuration file that is not contained in the first configuration file; replacing the symbol indicating a command line has been added with a symbol indicating a command line should not be executed; for occurrences in the programmatic diff file where two symbols indicating a command line should not be executed are assigned to the same command line, removing both symbols indicating the command line should not be executed; and modifying the second configuration state based upon commands in the programmatic diff file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of rolling back a second configuration state of a network device to a first configuration state of the network device, the second configuration state being represented by second commands of a second configuration file and the first configuration state being represented by first commands of a first configuration file, the method comprising:
-
inputting a programmatic diff file produced by comparing a second configuration file representing the second configuration state of the network device to a first configuration file representing the first configuration state of a network device, wherein the inputting includes adding a symbol indicating that a command line has been added next to a command line contained in the second configuration file that is not contained in the first configuration file; replacing the symbol indicating a command line has been added with a symbol indicating a command line should not be executed; for occurrences in the programmatic diff file where two symbols indicating a command line should not be executed are assigned to the same command line, removing both symbols indicating the command line should not be executed; and conforming the second configuration state to the first configuration state based upon commands in the programmatic diff file. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A computer program embodied in a computer-readable storage medium for modifying a second configuration state of a network device based on a first configuration state of the network device, the computer program causing a computing device to perform the following steps:
-
inputting a programmatic diff file produced by comparing a second configuration file representing the second configuration state of the network device to a first configuration file representing the first configuration state of a network device, wherein the inputting includes adding a symbol indicating that a command line has been added next to a command line contained in the second configuration file that is not contained in the first configuration file; replacing the symbol indicating a command line has been added with a symbol indicating a command line should not be executed; for occurrences in the programmatic diff file where two symbols indicating a command line should not be executed are assigned to the same command line, removing both symbols indicating the command line should not be executed; and modifying the second configuration state based upon commands in the programmatic diff file. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. An apparatus for modifying a second configuration state of a network device based on a first configuration state of the network device, the apparatus comprising:
-
means for inputting a programmatic diff file produced by comparing a second configuration file representing the second configuration state of the network device to a first configuration file representing the first configuration state of a network device, wherein the inputting includes adding a symbol indicating that a command line has been added next to a command line contained in the second configuration file that is not contained in the first configuration file; means for replacing the symbol indicating a command line has been added with a symbol indicating a command line should not be executed; means for, for occurrences in the programmatic diff file where two symbols indicating a command line should not be executed are assigned to the same command line, removing both symbols indicating the command line should not be executed; and means for modifying the second configuration state based upon commands in the programmatic diff file. - View Dependent Claims (35, 36, 37, 38)
-
Specification