/usr/share/augeas/lenses/dist/sysconfig_route.aug is in augeas-lenses 1.2.0-0ubuntu1.3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | (*
Module: Sysconfig_Route
Parses /etc/sysconfig/network-scripts/route-${device}
Author: Stephen P. Schaefer
About: Reference
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).
About: License
This file is licenced under the LGPL v2+, like the rest of Augeas.
About: Lens Usage
Sample usage of this lens in augtool
* Set the first subnet reachable by a router reachable on the eth0 subnet
> set /files/etc/sysconfig/network-scripts/route-eth0/10.10.2.1[1] 172.16.254.0/24
* List all the subnets reachable by a router reachable on eth0 subnet
> match /files/etc/sysconfig/network-scripts/route-eth0/10.10.2.1
About: Configuration files
This lens applies to /etc/sysconfig/network-scripts/route-*
About: Examples
The <Test_Sysconfig_Route> file contains various examples and tests.
*)
module Sysconfig_Route =
autoload xfm
(******************************************************************************
* Group: USEFUL PRIMITIVES
******************************************************************************)
(* Variable: router
A router *)
let router = Rx.ipv4
(* Variable: cidr
A subnet mask can be 0 to 32 bits *)
let cidr = /(3[012]|[12][0-9]|[0-9])/
(* Variable: subnet
Subnet specification *)
let subnet = Rx.ipv4 . "/" . cidr
(******************************************************************************
* Group: ENTRY TYPES
******************************************************************************)
(* View: entry
One route *)
let entry = [ store subnet . del /[ \t]*via[ \t]*/ " via "
. key router . Util.del_str "\n" ]
(******************************************************************************
* Group: LENS AND FILTER
******************************************************************************)
(* View: lns *)
let lns = entry+
(* View: filter *)
let filter = incl "/etc/sysconfig/network-scripts/route-*"
. Util.stdexcl
let xfm = transform lns filter
|