⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 policy.tp

📁 xorp源码hg
💻 TP
字号:
/* $XORP: xorp/etc/templates/policy.tp,v 1.24 2006/11/22 01:19:11 pavlin Exp $ */policy {    targetname: txt = "policy";    policy-statement @: txt {	term @: txt {	    from {		protocol: txt;		network4: ipv4net;		network6: ipv6net;		network4-list: txt;		network6-list: txt;		prefix-length4: u32range;		prefix-length6: u32range;	    }	    to {		network4: ipv4net;		network6: ipv6net;		network4-list: txt;		network6-list: txt;		prefix-length4: u32range;		prefix-length6: u32range;	    }	    then {		trace: u32;	    }	}    }    network4-list @: txt {	elements: txt;				/* %deprecated */	network @: ipv4net {	}    }    network6-list @: txt {	elements: txt;				/* %deprecated */	network @: ipv6net {	}    }}policy {    %help:      short "Configure routing policies";    %modinfo:   provides policy;    %modinfo:   depends rib;    %modinfo:   path "policy/xorp_policy";    %modinfo:   default_targetname "policy";    %modinfo:   status_method xrl "$(policy.targetname)/common/0.1/get_status->status:u32&reason:txt";    %modinfo:   shutdown_method xrl "$(policy.targetname)/common/0.1/shutdown";    %modinfo:   end_commit xrl "$(policy.targetname)/policy/0.1/done_global_policy_conf";    %mandatory: $(@.targetname);    targetname {	%user-hidden: "XRL target name";	%help:	short "XRL target name";	%set:;    }    policy-statement @: txt {	%help: short "Routing policy";	%create: xrl "$(policy.targetname)/policy/0.1/create_policy?policy:txt=$(@)";	%delete: xrl "$(policy.targetname)/policy/0.1/delete_policy?policy:txt=$(@)";	term @: txt {	    %help: short "Term of the routing policy";	    %create: xrl "$(policy.targetname)/policy/0.1/create_term?policy:txt=$(policy-statement.@)&order:txt=$(#)&term:txt=$(@)";	    %delete: xrl "$(policy.targetname)/policy/0.1/delete_term?policy:txt=$(policy-statement.@)&term:txt=$(@)";	    from {		%help: short "Conditions to match the source of a route";		protocol {		    %help: short "Protocol from which route was learned";		    %allow: $(@) "bgp" %help: "BGP routes";		    %allow: $(@) "connected" %help: "Directly connected sub-network routes";		    %allow: $(@) "ospf4" %help: "OSPF IPv4 routes";		    %allow: $(@) "rip" %help: "RIP routes";		    %allow: $(@) "ripng" %help: "RIPng routes";		    %allow: $(@) "static" %help: "Static routes";		    %set: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=0&order:txt=$(#)&statement:txt=protocol $(<>) $(@);";		    %delete: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=0&order:txt=$(#)&statement:txt=";		}		network4 {		    %help: short "IPv4 network";		    %allow-operator: ":" "==" "!=" "<" ">" "<=" ">=" "exact" "not" "shorter" "longer" "orshorter" "orlonger";		    %set: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=0&order:txt=$(#)&statement:txt=network4 $(<>) $(@);";		    %delete: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=0&order:txt=$(#)&statement:txt=";		}		network6 {		    %help: short "IPv6 network";		    %allow-operator: ":" "==" "!=" "<" ">" "<=" ">=" "exact" "not" "shorter" "longer" "orshorter" "orlonger";		    %set: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=0&order:txt=$(#)&statement:txt=network6 $(<>) $(@);";		    %delete: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=0&order:txt=$(#)&statement:txt=";		}		network4-list {		    %help: short "Valid named set of IPv4 networks";		    %set: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=0&order:txt=$(#)&statement:txt=network4 <= SET $(@);";		    %delete: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=0&order:txt=$(#)&statement:txt=";		}		network6-list {		    %help: short "Valid named set of IPv6 networks";		    %set: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=0&order:txt=$(#)&statement:txt=network6 <= SET $(@);";		    %delete: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=0&order:txt=$(#)&statement:txt=";		}		prefix-length4 {		    %help: short "IPv4 prefix length range";		    %allow-operator: "==" "!=" "<" "<=" ">" ">=";		    %set: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=0&order:txt=$(#)&statement:txt=network4 $(<>) $(@);";		    %delete: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=0&order:txt=$(#)&statement:txt=";		}		prefix-length6 {		    %help: short "IPv6 prefix length range";		    %allow-operator: "==" "!=" "<" "<=" ">" ">=";		    %set: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=0&order:txt=$(#)&statement:txt=network6 $(<>) $(@);";		    %delete: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=0&order:txt=$(#)&statement:txt=";		}	    }	    to {		%help: short "Conditions to match the destination of a route";		network4 {		    %help: short "IPv4 network";		    %allow-operator: ":" "==" "!=" "<" ">" "<=" ">=" "exact" "not" "shorter" "longer" "orshorter" "orlonger";		    %set: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=1&order:txt=$(#)&statement:txt=network4 $(<>) $(@);";		    %delete: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=1&order:txt=$(#)&statement:txt=";		}		network6 {		    %help: short "IPv6 network";		    %allow-operator: ":" "==" "!=" "<" ">" "<=" ">=" "exact" "not" "shorter" "longer" "orshorter" "orlonger";		    %set: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=1&order:txt=$(#)&statement:txt=network6 $(<>) $(@);";		    %delete: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=1&order:txt=$(#)&statement:txt=";		}		network4-list {		    %help: short "Valid named set of IPv4 networks";		    %set: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=1&order:txt=$(#)&statement:txt=network4 <= SET $(@);";		    %delete: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=1&order:txt=$(#)&statement:txt=";		}		network6-list {		    %help: short "Valid named set of IPv6 networks";		    %set: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=1&order:txt=$(#)&statement:txt=network6 <= SET $(@);";		    %delete: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=1&order:txt=$(#)&statement:txt=";		}		prefix-length4 {		    %help: short "IPv4 prefix length range";		    %allow-operator: "==" "!=" "<" "<=" ">" ">=";		    %set: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=1&order:txt=$(#)&statement:txt=network4 $(<>) $(@);";		    %delete: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=1&order:txt=$(#)&statement:txt=";		}		prefix-length6 {		    %help: short "IPv6 prefix length range";		    %allow-operator: "==" "!=" "<" "<=" ">" ">=";		    %set: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=1&order:txt=$(#)&statement:txt=network6 $(<>) $(@);";		    %delete: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=1&order:txt=$(#)&statement:txt=";		}	    }	    then {		%help: short "Actions to take if conditions match";		trace {		    %help: short "Set the tracing";		    %set: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=2&order:txt=$(#)&statement:txt=trace = $(@);";		    %delete: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=2&order:txt=$(#)&statement:txt=";		}		accept {		    %help: short "Accept a route";		    %create: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=2&order:txt=$(#)&statement:txt=accept;";		    %delete: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=2&order:txt=$(#)&statement:txt=";		}		reject {		    %help: short "Reject a route";		    %create: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=2&order:txt=$(#)&statement:txt=reject;";		    %delete: xrl "$(policy.targetname)/policy/0.1/update_term_block?policy:txt=$(policy-statement.@)&term:txt=$(term.@)&block:u32=2&order:txt=$(#)&statement:txt=";		}	    }	}    }    network4-list @: txt {	%help: short "Named set of IPv4 networks";	%delete: xrl "$(policy.targetname)/policy/0.1/delete_set?set:txt=$(@)";	%create: xrl "$(policy.targetname)/policy/0.1/create_set?set:txt=$(@)";	elements {	    %deprecated: "Statement 'elements' is replaced with 'network'";	    %help: short "Elements in the named set of IPv4 networks";	    %set: xrl "$(policy.targetname)/policy/0.1/update_set?type:txt=set_ipv4net&set:txt=$(network4-list.@)&elements:txt=$(@)";	}	network @: ipv4net {	    %help: short "Element in the named set of IPv4 networks";	    %create: xrl "$(policy.targetname)/policy/0.1/add_to_set?type:txt=set_ipv4net&set:txt=$(network4-list.@)&element:txt=$(@)";	    %delete: xrl "$(policy.targetname)/policy/0.1/delete_from_set?type:txt=set_ipv4net&set:txt=$(network4-list.@)&element:txt=$(@)";	}    }    network6-list @: txt {	%help: short "Named set of IPv6 networks";	%delete: xrl "$(policy.targetname)/policy/0.1/delete_set?set:txt=$(@)";	%create: xrl "$(policy.targetname)/policy/0.1/create_set?set:txt=$(@)";	elements {	    %deprecated: "Statement 'elements' is replaced with 'network'";	    %help: short "Elements in the named set of IPv6 networks";	    %set: xrl "$(policy.targetname)/policy/0.1/update_set?type:txt=set_ipv6net&set:txt=$(network6-list.@)&elements:txt=$(@)";	}	network @: ipv6net {	    %help: short "Element in the named set of IPv6 networks";	    %create: xrl "$(policy.targetname)/policy/0.1/add_to_set?type:txt=set_ipv6net&set:txt=$(network6-list.@)&element:txt=$(@)";	    %delete: xrl "$(policy.targetname)/policy/0.1/delete_from_set?type:txt=set_ipv6net&set:txt=$(network6-list.@)&element:txt=$(@)";	}    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -