File: krt-sock.Y

package info (click to toggle)
bird2 2.17.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky
  • size: 5,584 kB
  • sloc: ansic: 74,910; sh: 3,712; perl: 3,444; lex: 883; python: 495; makefile: 464; xml: 260; sed: 13
file content (40 lines) | stat: -rw-r--r-- 815 bytes parent folder | download | duplicates (7)
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
/*
 *	BIRD -- BSD Kernel Syncer Configuration
 *
 *	(c) 1999--2000 Martin Mares <mj@ucw.cz>
 *
 *	Can be freely distributed and used under the terms of the GNU GPL.
 */

CF_HDR

CF_DECLS

CF_KEYWORDS(KERNEL, TABLE, METRIC)

CF_GRAMMAR

kern_proto: kern_proto kern_sys_item ';' ;

kern_sys_item:
   KERNEL TABLE expr {
	if ($3 && (krt_max_tables == 1))
	  cf_error("Multiple kernel routing tables not supported");
	if ($3 >= krt_max_tables)
	  cf_error("Kernel table id must be in range 0-%u", krt_max_tables - 1);

	THIS_KRT->sys.table_id = $3;
   }
 | METRIC expr {
     if ($2 && !krt_max_metric)
       cf_error("Kernel route metric not supported");
     if ($2 > krt_max_metric)
       cf_error("Kernel table id must be in range 0-%u", krt_max_metric);

     THIS_KRT->sys.metric = $2;
   }
 ;

CF_CODE

CF_END