File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / bird2 / doc / bird.conf.example2
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Mon Oct 21 16:03:57 2019 UTC (4 years, 8 months ago) by misho
Branches: bird2, MAIN
CVS tags: v2_0_7p0, HEAD
bird2 ver 2.0.7

    1: /*
    2:  *	This is an example configuration file for MB-BGP setting
    3:  */
    4: 
    5: 
    6: log "bird.log" all;
    7: # debug protocols all;
    8: 
    9: router id 192.168.1.1;
   10: 
   11: ipv4 table master4;
   12: ipv6 table master6;
   13: 
   14: ipv4 table mcast4;
   15: ipv6 table mcast6;
   16: 
   17: ipv4 table mtab4;
   18: ipv6 table mtab6;
   19: 
   20: vpn4 table vpntab4;
   21: vpn6 table vpntab6;
   22: 
   23: vpn4 table vpn4mc;
   24: vpn6 table vpn6mc;
   25: 
   26: flow4 table flowtab4;
   27: flow6 table flowtab6;
   28: 
   29: 
   30: protocol device {
   31: }
   32: 
   33: protocol kernel kernel4 {
   34: 	ipv4 {
   35: 		export all;
   36: 	};
   37: }
   38: 
   39: protocol kernel kernel6 {
   40: 	ipv6 {
   41: 		export all;
   42: 	};
   43: }
   44: 
   45: 
   46: protocol static static4 {
   47: 	ipv4;
   48: 
   49: 	route 10.10.0.0/24 via 192.168.1.2;
   50: 	route 10.10.1.0/24 via 192.168.1.2 { bgp_large_community.add((10,20,30)); bgp_large_community.add((10,(20*3),10)); };
   51: }
   52: 
   53: protocol static static6 {
   54: 	ipv6;
   55: 
   56: 	route 2001:db8:10:10::/64 via 2001:db8:1:1::10;
   57: 	route 2001:db8:10:11::/64 via 2001:db8:1:1::10;
   58: 
   59: 	route 2001:db8:1:1::/64 via fe80::ec9b:67ff:fe60:fd5d % ve1;
   60: }
   61: 
   62: # VPNv4 routes with MPLS labels
   63: protocol static statvpn4 {
   64: 	vpn4;
   65: 
   66: 	route 10:10 10.20.0.0/24 via 192.168.1.2 mpls 210;
   67: 	route 10:10 10.20.1.0/24 via 192.168.1.2 mpls 210;
   68: 	route 10:20 10.20.0.0/24 via 192.168.1.2 mpls 220;
   69: 	route 10:20 10.20.1.0/24 via 192.168.1.2 mpls 220;
   70: }
   71: 
   72: protocol static statvpn6 {
   73: 	vpn6;
   74: 
   75: 	route 10:10 2001:db8:20:10::/64 via 2001:db8:1:1::10 mpls 200/210;
   76: 	route 10:10 2001:db8:20:11::/64 via 2001:db8:1:1::10 mpls 200/210;
   77: 	route 10:20 2001:db8:20:10::/64 via 2001:db8:1:1::10 mpls 200/220;
   78: 	route 10:20 2001:db8:20:11::/64 via 2001:db8:1:1::10 mpls 200/220;
   79: }
   80: 
   81: # RFC 5575 flow specification
   82: protocol static flowstat4 {
   83: 	flow4;
   84: 
   85: 	route flow4 {
   86: 		dst 10.0.0.0/8;
   87: 		proto = 23;
   88: 		dport > 24 && < 30 || 40..50,60..70,80;
   89: 		sport > 24 && < 30 || = 40 || 50,60..70,80;
   90: 		icmp type 80;
   91: 		icmp code 90;
   92: 		tcp flags 0x03/0x0f;
   93: 		length 2048..65535;
   94: 		dscp = 63;
   95: 		fragment dont_fragment, is_fragment || !first_fragment;
   96: 	};
   97: 
   98: 	route flow4 {
   99: 		dst 11.0.0.0/8;
  100: 		proto = 0x12;
  101: 		sport > 0x5678 && < 0x9abc || 0xdef0 || 0x1234,0x5678,0x9abc..0xdef0;
  102: 		dport = 50;
  103: 		tcp flags 0x000/0xf00;
  104: 	};
  105: 
  106: 	route flow4 {
  107: 		dst 12.0.0.0/32;
  108: 		tcp flags ! 0/0x999;
  109: 	};
  110: 
  111: 	route flow4 {
  112: 		dst 220.0.254.0/24;
  113: 		tcp flags 0x99/0x999;
  114: 	};
  115: 
  116: 	route flow4 {
  117: 		dst 220.0.254.192/28;
  118: 		tcp flags ! 0xfff/0xfff;
  119: 	};
  120: 
  121: 	route flow4 {
  122: 		dst 15.0.0.0/8;
  123: 		tcp flags ! 0x999/0x999;
  124: 	};
  125: }
  126: 
  127: protocol static flowstat6 {
  128: 	flow6;
  129: 
  130: 	route flow6 {
  131: 		dst fec0:1122:3344:5566::1/128;
  132: 		src 0000:0000:0000:0001:1234:5678:9800:0000/101 offset 63;
  133: 		next header = 23;
  134: 		sport 24..30, 42 || 50,60,70..80;
  135: 		dport = 50;
  136: 		tcp flags 0x03/0x0f, !0/0xff || 0x33/0x33;
  137: 		fragment !is_fragment || !first_fragment;
  138: 		label 0xaaaa/0xaaaa && 0x33/0x33;
  139: 	};
  140: 
  141: 	route flow6 {
  142: 		dst fec0:1122:3344:5566::1/128;
  143: 		src ::1:1234:5678:9800:0/101 offset 63;
  144: 		next header = 23;
  145: 		dport = 50;
  146: 		sport > 24 && < 30 || = 40 || = 50 || = 60 || >= 70 && <= 80;
  147: 		tcp flags 0x3/0x3 && 0x0/0xc;
  148: 	};
  149: }
  150: 
  151: 
  152: protocol pipe {
  153: 	table master4;
  154: 	peer table mcast4;
  155: 	import none;
  156: 	export where source = RTS_OSPF;
  157: }
  158: 
  159: protocol pipe {
  160: 	table master6;
  161: 	peer table mcast6;
  162: 	import none;
  163: 	export where source = RTS_OSPF;
  164: }
  165: 
  166: protocol ospf v2 ospf4 {
  167: 	ipv4 {
  168: 		import all;
  169: #		export where source = RTS_STATIC;
  170: 	};
  171: 
  172: 	area 0 {
  173: 		interface "ve0" { stub; };
  174: 		interface "ve1" { hello 5; type ptp; };
  175: 		interface "ve2" { hello 5; type bcast; ttl security; };
  176: 		interface "ve3" { hello 5; type bcast; ttl security; };
  177: 	};
  178: }
  179: 
  180: 
  181: protocol ospf v3 ospf6 {
  182: 	ipv6 {
  183: 		import all;
  184: #		export where source = RTS_STATIC;
  185: 	};
  186: 
  187: 	area 0 {
  188: 		interface "ve0" { stub; };
  189: 		interface "ve1" { hello 5; type ptp; };
  190: 		interface "ve2" { hello 5; type bcast; };
  191: 	};
  192: }
  193: 
  194: protocol bgp {
  195: 	local 192.168.11.1 as 1000;
  196: 	neighbor 192.168.11.2 as 2000;
  197: #	local 192.168.1.1 as 1000;
  198: #	neighbor 192.168.2.1 as 2000;
  199: #	multihop;
  200: #	rr client;
  201: #	strict bind;
  202: #	debug all;
  203: 
  204: 	# regular IPv4 unicast (1/1)
  205: 	ipv4 {
  206: 		# connects to master4 table by default
  207: 		import all;
  208: 		export where source ~ [ RTS_STATIC, RTS_BGP ];
  209: 	};
  210: 
  211: 	# regular IPv6 unicast (2/1)
  212: 	ipv6 {
  213: 		# connects to master6 table by default
  214: 		import all;
  215: 		export where source ~ [ RTS_STATIC, RTS_BGP ];
  216: #		next hop address 2001:db8:1:1::1;
  217: 	};
  218: 
  219: 	# IPv4 multicast topology (1/2)
  220: 	ipv4 multicast {
  221: 		# explicit IPv4 table
  222: 		table mcast4;
  223: 		import all;
  224: 		export all;
  225: 	};
  226: 
  227: 	# IPv6 multicast topology (2/2)
  228: 	ipv6 multicast {
  229: 		# explicit IPv6 table
  230: 		table mcast6;
  231: 		import all;
  232: 		export all;
  233: #		next hop address 2001:db8:1:1::1;
  234: 	};
  235: 
  236: 	# IPv4 with MPLS labels (1/4)
  237: 	ipv4 mpls {
  238: 		# explicit IPv4 table
  239: 		table mtab4;
  240: 		import all;
  241: 		export all;
  242: 	};
  243: 
  244: 	# IPv6 with MPLS labels (2/4)
  245: 	ipv6 mpls {
  246: 		# explicit IPv6 table
  247: 		table mtab6;
  248: 		import all;
  249: 		export all;
  250: 		# allows IPv4 next hops (6PE)
  251: 		# extended next hop;
  252: 	};
  253: 
  254: 	# VPNv4 with MPLS labels (1/128)
  255:         vpn4 mpls {
  256: 		# connects to vpntab4 table by default
  257: 		import all;
  258: 		export all;
  259: 	};
  260: 
  261: 	# VPNv6 with MPLS labels (2/128)
  262:         vpn6 mpls {
  263: 		# connects to vpntab6 table by default
  264: 		import all;
  265: 		export all;
  266: 	};
  267: 
  268: 	# VPNv4 multicast topology (1/129)
  269:         vpn4 multicast {
  270: 		table vpn4mc;
  271: 		import all;
  272: 		export all;
  273: 	};
  274: 
  275: 	# VPNv6 multicast topology (2/129)
  276:         vpn6 multicast {
  277: 		table vpn6mc;
  278: 		import all;
  279: 		export all;
  280: 	};
  281: 
  282: 	# IPv4 Flowspec (1/133)
  283: 	flow4 {
  284: 		# connects to flowtab4 table by default
  285: 		import all;
  286: 		export all;
  287: 	};
  288: 
  289: 	# IPv6 Flowspec (2/133)
  290: 	flow6 {
  291: 		# connects to flowtab6 table by default
  292: 		import all;
  293: 		export all;
  294: 	};
  295: }
  296: 
  297: protocol bgp {
  298: 	local 192.168.1.1 as 1000;
  299: 	neighbor 192.168.3.1 as 1000;
  300: 	multihop;
  301: 	rr client;
  302: 
  303: 	ipv4 {
  304: 		import all;
  305: 		export where source ~ [ RTS_STATIC, RTS_BGP ];
  306: 	};
  307: 
  308: 	ipv6 {
  309: 		import all;
  310: 		export where source ~ [ RTS_STATIC, RTS_BGP ];
  311: 		next hop address 2001:db8:1:1::1;
  312: 	};
  313: }
  314: 
  315: protocol bgp {
  316: 	local 2001:db8:1:1::1 as 1000;
  317: 	neighbor 2001:db8:4:1::1 as 1000;
  318: 	multihop;
  319: 	rr client;
  320: 
  321: 	ipv4 {
  322: 		import all;
  323: 		export where source ~ [ RTS_STATIC, RTS_BGP ];
  324: 		next hop address 192.168.4.1;
  325: 	};
  326: 
  327: 	ipv6 {
  328: 		import all;
  329: 		export where source ~ [ RTS_STATIC, RTS_BGP ];
  330: 	};
  331: }
  332: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>