Parses /etc/sysconfig/network-scripts/route-${device}
Author: Stephen P. Schaefer
Sysconfig_Route | Parses /etc/sysconfig/network-scripts/route-${device} |
Reference | This lens allows manipulation of one IPv4 variant of the /etc/sysconfig/network-scripts/route-${device} script found in RHEL5+, CentOS5+ and Fedora. |
License | This file is licenced under the LGPL v2+, like the rest of Augeas. |
Lens Usage | Sample usage of this lens in augtool |
Configuration files | This lens applies to /etc/sysconfig/network-scripts/route-* |
Examples | The Test_Sysconfig_Route file contains various examples and tests. |
USEFUL PRIMITIVES | |
router | A router |
cidr | A subnet mask can be 0 to 32 bits |
subnet | Subnet specification |
ENTRY TYPES | |
entry | One route |
LENS AND FILTER | |
lns | |
filter |
This lens allows manipulation of one IPv4 variant of the /etc/sysconfig/network-scripts/route-${device} script found in RHEL5+, CentOS5+ and Fedora.
The variant handled consists of lines like “destination_subnet/cidr via router_ip”, e.g., “10.132.11.0/24 via 10.10.2.1”
There are other variants; if you use them, please enhance this lens.
The natural key would be “10.132.11.0/24” with value “10.10.2.1”, but since augeas cannot deal with slashes in the key value, I reverse them, so that the key is “10.10.2.1[1]” (and “10.10.2.1[2]”... if multiple subnets are reachable via that router).
Sample usage of this lens in augtool
set /files/etc/sysconfig/network-scripts/route-eth0/10.10.2.1[1] 172.16.254.0/24
match /files/etc/sysconfig/network-scripts/route-eth0/10.10.2.1
The Test_Sysconfig_Route file contains various examples and tests.
A router
let router = Rx.ipv4
A subnet mask can be 0 to 32 bits
let cidr = /(3[012]|[12][0-9]|[0-9])/
Subnet specification
let subnet = Rx.ipv4 . "/" . cidr
One route
let entry = [ store subnet . del /[ \t]*via[ \t]*/ " via " . key router . Util.del_str "\n" ]
let lns = entry+