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
|
# "host" construct can now use string expressions -----------------------------
tcc -c -u stderr -Wnounused 2>&1
$host = "1.2.3.4";
$a = host $host;
$b = host ("local"+"host");
EOF
$host = "1.2.3.4"
$a = 1.2.3.4
$b = 127.0.0.1
# host parameters can use string expression -----------------------------------
tcc | sed '/.*session /{s///;s/ .*$//p;};d'
prio {
$dot = ".";
class
on rsvp element(ipproto "tcp",dst "1.2"+$dot+"3.4");
}
EOF
1.2.3.4
# port parameters can use string expression -----------------------------------
tcc | sed '/.* ipproto/s//ipproto/p;d'
$finger = "finger";
prio {
class
on rsvp(ipproto "tcp") element (dst 1.2.3.4,sport $finger);
}
EOF
ipproto 6 session 1.2.3.4 sender any/79 classid 1:1
# IP protocol parameter can use string expression -----------------------------
tcc | sed '/.* ipproto/s//ipproto/p;d'
prio {
$proto = "tc";
class
on rsvp(ipproto $proto+"p") element (dst 1.2.3.4,sport 123);
}
EOF
ipproto 6 session 1.2.3.4 sender any/123 classid 1:1
# Ether protocol parameter can use string expression --------------------------
tcc | grep filter
prio {
$version = "6";
fw(protocol "ipv"+$version);
}
EOF
tc filter add dev eth0 parent 1:0 protocol ipv6 prio 1 fw
# device names can use string expressions -------------------------------------
tcc
$number = "1";
dev "eth"+$number {
fifo;
}
EOF
tc qdisc add dev eth1 handle 1:0 root pfifo
|