|
xorp
|
00001 /* 00002 * obj/i686-pc-linux-gnu/xrl/interfaces/bgp_xif.hh 00003 * vim:set sts=4 ts=8 ft=cpp: 00004 * 00005 * Copyright (c) 2001-2010 XORP, Inc and Others 00006 * See the XORP LICENSE.lgpl file for licensing, conditions, and warranties 00007 * on use. 00008 * 00009 * DO NOT EDIT THIS FILE - IT IS PROGRAMMATICALLY GENERATED 00010 * 00011 * Generated by 'clnt-gen'. 00012 */ 00013 00014 #ifndef __XRL_INTERFACES_BGP_XIF_HH__ 00015 #define __XRL_INTERFACES_BGP_XIF_HH__ 00016 00017 #undef XORP_LIBRARY_NAME 00018 #define XORP_LIBRARY_NAME "XifBgp" 00019 00020 #include "libxorp/xlog.h" 00021 #include "libxorp/callback.hh" 00022 00023 #include "libxipc/xrl.hh" 00024 #include "libxipc/xrl_error.hh" 00025 #include "libxipc/xrl_sender.hh" 00026 00027 //#include <memory> 00028 00029 class XrlBgpV0p3Client { 00030 public: 00031 XrlBgpV0p3Client(XrlSender* s) : _sender(s) {} 00032 virtual ~XrlBgpV0p3Client() {} 00033 00034 typedef XorpCallback2<void, const XrlError&, const uint32_t*>::RefPtr GetBgpVersionCB; 00042 bool send_get_bgp_version( 00043 const char* dst_xrl_target_name, 00044 const GetBgpVersionCB& cb 00045 ); 00046 00047 typedef XorpCallback1<void, const XrlError&>::RefPtr LocalConfigCB; 00057 bool send_local_config( 00058 const char* dst_xrl_target_name, 00059 const string& as, 00060 const IPv4& id, 00061 const bool& use_4byte_asnums, 00062 const LocalConfigCB& cb 00063 ); 00064 00065 typedef XorpCallback1<void, const XrlError&>::RefPtr SetLocalAsCB; 00075 bool send_set_local_as( 00076 const char* dst_xrl_target_name, 00077 const string& as, 00078 const SetLocalAsCB& cb 00079 ); 00080 00081 typedef XorpCallback1<void, const XrlError&>::RefPtr Set4ByteAsSupportCB; 00091 bool send_set_4byte_as_support( 00092 const char* dst_xrl_target_name, 00093 const bool& enable, 00094 const Set4ByteAsSupportCB& cb 00095 ); 00096 00097 typedef XorpCallback2<void, const XrlError&, const string*>::RefPtr GetLocalAsCB; 00105 bool send_get_local_as( 00106 const char* dst_xrl_target_name, 00107 const GetLocalAsCB& cb 00108 ); 00109 00110 typedef XorpCallback1<void, const XrlError&>::RefPtr SetBgpIdCB; 00120 bool send_set_bgp_id( 00121 const char* dst_xrl_target_name, 00122 const IPv4& id, 00123 const SetBgpIdCB& cb 00124 ); 00125 00126 typedef XorpCallback2<void, const XrlError&, const IPv4*>::RefPtr GetBgpIdCB; 00134 bool send_get_bgp_id( 00135 const char* dst_xrl_target_name, 00136 const GetBgpIdCB& cb 00137 ); 00138 00139 typedef XorpCallback1<void, const XrlError&>::RefPtr SetConfederationIdentifierCB; 00151 bool send_set_confederation_identifier( 00152 const char* dst_xrl_target_name, 00153 const string& as, 00154 const bool& disable, 00155 const SetConfederationIdentifierCB& cb 00156 ); 00157 00158 typedef XorpCallback1<void, const XrlError&>::RefPtr SetClusterIdCB; 00170 bool send_set_cluster_id( 00171 const char* dst_xrl_target_name, 00172 const IPv4& cluster_id, 00173 const bool& disable, 00174 const SetClusterIdCB& cb 00175 ); 00176 00177 typedef XorpCallback1<void, const XrlError&>::RefPtr SetDampingCB; 00191 bool send_set_damping( 00192 const char* dst_xrl_target_name, 00193 const uint32_t& half_life, 00194 const uint32_t& max_suppress, 00195 const uint32_t& reuse, 00196 const uint32_t& suppress, 00197 const bool& disable, 00198 const SetDampingCB& cb 00199 ); 00200 00201 typedef XorpCallback1<void, const XrlError&>::RefPtr AddPeerCB; 00216 bool send_add_peer( 00217 const char* dst_xrl_target_name, 00218 const string& local_dev, 00219 const string& local_ip, 00220 const uint32_t& local_port, 00221 const string& peer_ip, 00222 const uint32_t& peer_port, 00223 const string& as, 00224 const IPv4& next_hop, 00225 const uint32_t& holdtime, 00226 const AddPeerCB& cb 00227 ); 00228 00229 typedef XorpCallback1<void, const XrlError&>::RefPtr DeletePeerCB; 00237 bool send_delete_peer( 00238 const char* dst_xrl_target_name, 00239 const string& local_ip, 00240 const uint32_t& local_port, 00241 const string& peer_ip, 00242 const uint32_t& peer_port, 00243 const DeletePeerCB& cb 00244 ); 00245 00246 typedef XorpCallback1<void, const XrlError&>::RefPtr EnablePeerCB; 00254 bool send_enable_peer( 00255 const char* dst_xrl_target_name, 00256 const string& local_ip, 00257 const uint32_t& local_port, 00258 const string& peer_ip, 00259 const uint32_t& peer_port, 00260 const EnablePeerCB& cb 00261 ); 00262 00263 typedef XorpCallback1<void, const XrlError&>::RefPtr DisablePeerCB; 00271 bool send_disable_peer( 00272 const char* dst_xrl_target_name, 00273 const string& local_ip, 00274 const uint32_t& local_port, 00275 const string& peer_ip, 00276 const uint32_t& peer_port, 00277 const DisablePeerCB& cb 00278 ); 00279 00280 typedef XorpCallback1<void, const XrlError&>::RefPtr ChangeLocalIpCB; 00300 bool send_change_local_ip( 00301 const char* dst_xrl_target_name, 00302 const string& local_ip, 00303 const uint32_t& local_port, 00304 const string& peer_ip, 00305 const uint32_t& peer_port, 00306 const string& new_local_ip, 00307 const string& new_local_dev, 00308 const ChangeLocalIpCB& cb 00309 ); 00310 00311 typedef XorpCallback1<void, const XrlError&>::RefPtr ChangeLocalPortCB; 00329 bool send_change_local_port( 00330 const char* dst_xrl_target_name, 00331 const string& local_ip, 00332 const uint32_t& local_port, 00333 const string& peer_ip, 00334 const uint32_t& peer_port, 00335 const uint32_t& new_local_port, 00336 const ChangeLocalPortCB& cb 00337 ); 00338 00339 typedef XorpCallback1<void, const XrlError&>::RefPtr ChangePeerPortCB; 00355 bool send_change_peer_port( 00356 const char* dst_xrl_target_name, 00357 const string& local_ip, 00358 const uint32_t& local_port, 00359 const string& peer_ip, 00360 const uint32_t& peer_port, 00361 const uint32_t& new_peer_port, 00362 const ChangePeerPortCB& cb 00363 ); 00364 00365 typedef XorpCallback1<void, const XrlError&>::RefPtr SetPeerAsCB; 00375 bool send_set_peer_as( 00376 const char* dst_xrl_target_name, 00377 const string& local_ip, 00378 const uint32_t& local_port, 00379 const string& peer_ip, 00380 const uint32_t& peer_port, 00381 const string& peer_as, 00382 const SetPeerAsCB& cb 00383 ); 00384 00385 typedef XorpCallback1<void, const XrlError&>::RefPtr SetHoldtimeCB; 00396 bool send_set_holdtime( 00397 const char* dst_xrl_target_name, 00398 const string& local_ip, 00399 const uint32_t& local_port, 00400 const string& peer_ip, 00401 const uint32_t& peer_port, 00402 const uint32_t& holdtime, 00403 const SetHoldtimeCB& cb 00404 ); 00405 00406 typedef XorpCallback1<void, const XrlError&>::RefPtr SetDelayOpenTimeCB; 00416 bool send_set_delay_open_time( 00417 const char* dst_xrl_target_name, 00418 const string& local_ip, 00419 const uint32_t& local_port, 00420 const string& peer_ip, 00421 const uint32_t& peer_port, 00422 const uint32_t& delay_open_time, 00423 const SetDelayOpenTimeCB& cb 00424 ); 00425 00426 typedef XorpCallback1<void, const XrlError&>::RefPtr SetRouteReflectorClientCB; 00437 bool send_set_route_reflector_client( 00438 const char* dst_xrl_target_name, 00439 const string& local_ip, 00440 const uint32_t& local_port, 00441 const string& peer_ip, 00442 const uint32_t& peer_port, 00443 const bool& state, 00444 const SetRouteReflectorClientCB& cb 00445 ); 00446 00447 typedef XorpCallback1<void, const XrlError&>::RefPtr SetConfederationMemberCB; 00457 bool send_set_confederation_member( 00458 const char* dst_xrl_target_name, 00459 const string& local_ip, 00460 const uint32_t& local_port, 00461 const string& peer_ip, 00462 const uint32_t& peer_port, 00463 const bool& state, 00464 const SetConfederationMemberCB& cb 00465 ); 00466 00467 typedef XorpCallback1<void, const XrlError&>::RefPtr SetPrefixLimitCB; 00479 bool send_set_prefix_limit( 00480 const char* dst_xrl_target_name, 00481 const string& local_ip, 00482 const uint32_t& local_port, 00483 const string& peer_ip, 00484 const uint32_t& peer_port, 00485 const uint32_t& maximum, 00486 const bool& state, 00487 const SetPrefixLimitCB& cb 00488 ); 00489 00490 typedef XorpCallback1<void, const XrlError&>::RefPtr SetNexthop4CB; 00500 bool send_set_nexthop4( 00501 const char* dst_xrl_target_name, 00502 const string& local_ip, 00503 const uint32_t& local_port, 00504 const string& peer_ip, 00505 const uint32_t& peer_port, 00506 const IPv4& next_hop, 00507 const SetNexthop4CB& cb 00508 ); 00509 00510 typedef XorpCallback1<void, const XrlError&>::RefPtr SetPeerStateCB; 00520 bool send_set_peer_state( 00521 const char* dst_xrl_target_name, 00522 const string& local_ip, 00523 const uint32_t& local_port, 00524 const string& peer_ip, 00525 const uint32_t& peer_port, 00526 const bool& toggle, 00527 const SetPeerStateCB& cb 00528 ); 00529 00530 typedef XorpCallback1<void, const XrlError&>::RefPtr SetPeerMd5PasswordCB; 00540 bool send_set_peer_md5_password( 00541 const char* dst_xrl_target_name, 00542 const string& local_ip, 00543 const uint32_t& local_port, 00544 const string& peer_ip, 00545 const uint32_t& peer_port, 00546 const string& password, 00547 const SetPeerMd5PasswordCB& cb 00548 ); 00549 00550 typedef XorpCallback1<void, const XrlError&>::RefPtr ActivateCB; 00558 bool send_activate( 00559 const char* dst_xrl_target_name, 00560 const string& local_ip, 00561 const uint32_t& local_port, 00562 const string& peer_ip, 00563 const uint32_t& peer_port, 00564 const ActivateCB& cb 00565 ); 00566 00567 typedef XorpCallback1<void, const XrlError&>::RefPtr SetParameterCB; 00575 bool send_set_parameter( 00576 const char* dst_xrl_target_name, 00577 const string& local_ip, 00578 const uint32_t& local_port, 00579 const string& peer_ip, 00580 const uint32_t& peer_port, 00581 const string& parameter, 00582 const bool& toggle, 00583 const SetParameterCB& cb 00584 ); 00585 00586 typedef XorpCallback1<void, const XrlError&>::RefPtr NextHopRewriteFilterCB; 00595 bool send_next_hop_rewrite_filter( 00596 const char* dst_xrl_target_name, 00597 const string& local_ip, 00598 const uint32_t& local_port, 00599 const string& peer_ip, 00600 const uint32_t& peer_port, 00601 const IPv4& next_hop, 00602 const NextHopRewriteFilterCB& cb 00603 ); 00604 00605 typedef XorpCallback1<void, const XrlError&>::RefPtr OriginateRoute4CB; 00621 bool send_originate_route4( 00622 const char* dst_xrl_target_name, 00623 const IPv4Net& nlri, 00624 const IPv4& next_hop, 00625 const bool& unicast, 00626 const bool& multicast, 00627 const OriginateRoute4CB& cb 00628 ); 00629 00630 typedef XorpCallback1<void, const XrlError&>::RefPtr WithdrawRoute4CB; 00644 bool send_withdraw_route4( 00645 const char* dst_xrl_target_name, 00646 const IPv4Net& nlri, 00647 const bool& unicast, 00648 const bool& multicast, 00649 const WithdrawRoute4CB& cb 00650 ); 00651 00652 typedef XorpCallback1<void, const XrlError&>::RefPtr TraceCB; 00664 bool send_trace( 00665 const char* dst_xrl_target_name, 00666 const string& tvar, 00667 const bool& enable, 00668 const TraceCB& cb 00669 ); 00670 00671 typedef XorpCallback3<void, const XrlError&, const uint32_t*, const bool*>::RefPtr GetPeerListStartCB; 00680 bool send_get_peer_list_start( 00681 const char* dst_xrl_target_name, 00682 const GetPeerListStartCB& cb 00683 ); 00684 00685 typedef XorpCallback6<void, const XrlError&, const string*, const uint32_t*, const string*, const uint32_t*, const bool*>::RefPtr GetPeerListNextCB; 00695 bool send_get_peer_list_next( 00696 const char* dst_xrl_target_name, 00697 const uint32_t& token, 00698 const GetPeerListNextCB& cb 00699 ); 00700 00701 typedef XorpCallback2<void, const XrlError&, const IPv4*>::RefPtr GetPeerIdCB; 00702 00703 bool send_get_peer_id( 00704 const char* dst_xrl_target_name, 00705 const string& local_ip, 00706 const uint32_t& local_port, 00707 const string& peer_ip, 00708 const uint32_t& peer_port, 00709 const GetPeerIdCB& cb 00710 ); 00711 00712 typedef XorpCallback3<void, const XrlError&, const uint32_t*, const uint32_t*>::RefPtr GetPeerStatusCB; 00713 00714 bool send_get_peer_status( 00715 const char* dst_xrl_target_name, 00716 const string& local_ip, 00717 const uint32_t& local_port, 00718 const string& peer_ip, 00719 const uint32_t& peer_port, 00720 const GetPeerStatusCB& cb 00721 ); 00722 00723 typedef XorpCallback2<void, const XrlError&, const int32_t*>::RefPtr GetPeerNegotiatedVersionCB; 00724 00725 bool send_get_peer_negotiated_version( 00726 const char* dst_xrl_target_name, 00727 const string& local_ip, 00728 const uint32_t& local_port, 00729 const string& peer_ip, 00730 const uint32_t& peer_port, 00731 const GetPeerNegotiatedVersionCB& cb 00732 ); 00733 00734 typedef XorpCallback2<void, const XrlError&, const string*>::RefPtr GetPeerAsCB; 00735 00736 bool send_get_peer_as( 00737 const char* dst_xrl_target_name, 00738 const string& local_ip, 00739 const uint32_t& local_port, 00740 const string& peer_ip, 00741 const uint32_t& peer_port, 00742 const GetPeerAsCB& cb 00743 ); 00744 00745 typedef XorpCallback7<void, const XrlError&, const uint32_t*, const uint32_t*, const uint32_t*, const uint32_t*, const uint32_t*, const uint32_t*>::RefPtr GetPeerMsgStatsCB; 00746 00747 bool send_get_peer_msg_stats( 00748 const char* dst_xrl_target_name, 00749 const string& local_ip, 00750 const uint32_t& local_port, 00751 const string& peer_ip, 00752 const uint32_t& peer_port, 00753 const GetPeerMsgStatsCB& cb 00754 ); 00755 00756 typedef XorpCallback3<void, const XrlError&, const uint32_t*, const uint32_t*>::RefPtr GetPeerEstablishedStatsCB; 00757 00758 bool send_get_peer_established_stats( 00759 const char* dst_xrl_target_name, 00760 const string& local_ip, 00761 const uint32_t& local_port, 00762 const string& peer_ip, 00763 const uint32_t& peer_port, 00764 const GetPeerEstablishedStatsCB& cb 00765 ); 00766 00767 typedef XorpCallback8<void, const XrlError&, const uint32_t*, const uint32_t*, const uint32_t*, const uint32_t*, const uint32_t*, const uint32_t*, const uint32_t*>::RefPtr GetPeerTimerConfigCB; 00768 00769 bool send_get_peer_timer_config( 00770 const char* dst_xrl_target_name, 00771 const string& local_ip, 00772 const uint32_t& local_port, 00773 const string& peer_ip, 00774 const uint32_t& peer_port, 00775 const GetPeerTimerConfigCB& cb 00776 ); 00777 00778 typedef XorpCallback1<void, const XrlError&>::RefPtr RegisterRibCB; 00788 bool send_register_rib( 00789 const char* dst_xrl_target_name, 00790 const string& name, 00791 const RegisterRibCB& cb 00792 ); 00793 00794 typedef XorpCallback2<void, const XrlError&, const uint32_t*>::RefPtr GetV4RouteListStartCB; 00810 bool send_get_v4_route_list_start( 00811 const char* dst_xrl_target_name, 00812 const IPv4Net& net, 00813 const bool& unicast, 00814 const bool& multicast, 00815 const GetV4RouteListStartCB& cb 00816 ); 00817 00818 typedef XorpCallback15<void, const XrlError&, const IPv4*, const IPv4Net*, const uint32_t*, const vector<uint8_t>*, const IPv4*, const int32_t*, const int32_t*, const int32_t*, const vector<uint8_t>*, const int32_t*, const vector<uint8_t>*, const bool*, const bool*, const bool*>::RefPtr GetV4RouteListNextCB; 00827 bool send_get_v4_route_list_next( 00828 const char* dst_xrl_target_name, 00829 const uint32_t& token, 00830 const GetV4RouteListNextCB& cb 00831 ); 00832 00833 typedef XorpCallback1<void, const XrlError&>::RefPtr SetNexthop6CB; 00843 bool send_set_nexthop6( 00844 const char* dst_xrl_target_name, 00845 const string& local_ip, 00846 const uint32_t& local_port, 00847 const string& peer_ip, 00848 const uint32_t& peer_port, 00849 const IPv6& next_hop, 00850 const SetNexthop6CB& cb 00851 ); 00852 00853 typedef XorpCallback2<void, const XrlError&, const IPv6*>::RefPtr GetNexthop6CB; 00861 bool send_get_nexthop6( 00862 const char* dst_xrl_target_name, 00863 const string& local_ip, 00864 const uint32_t& local_port, 00865 const string& peer_ip, 00866 const uint32_t& peer_port, 00867 const GetNexthop6CB& cb 00868 ); 00869 00870 typedef XorpCallback1<void, const XrlError&>::RefPtr WithdrawRoute6CB; 00884 bool send_withdraw_route6( 00885 const char* dst_xrl_target_name, 00886 const IPv6Net& nlri, 00887 const bool& unicast, 00888 const bool& multicast, 00889 const WithdrawRoute6CB& cb 00890 ); 00891 00892 typedef XorpCallback2<void, const XrlError&, const uint32_t*>::RefPtr GetV6RouteListStartCB; 00908 bool send_get_v6_route_list_start( 00909 const char* dst_xrl_target_name, 00910 const IPv6Net& net, 00911 const bool& unicast, 00912 const bool& multicast, 00913 const GetV6RouteListStartCB& cb 00914 ); 00915 00916 typedef XorpCallback1<void, const XrlError&>::RefPtr OriginateRoute6CB; 00932 bool send_originate_route6( 00933 const char* dst_xrl_target_name, 00934 const IPv6Net& nlri, 00935 const IPv6& next_hop, 00936 const bool& unicast, 00937 const bool& multicast, 00938 const OriginateRoute6CB& cb 00939 ); 00940 00941 typedef XorpCallback15<void, const XrlError&, const IPv4*, const IPv6Net*, const uint32_t*, const vector<uint8_t>*, const IPv6*, const int32_t*, const int32_t*, const int32_t*, const vector<uint8_t>*, const int32_t*, const vector<uint8_t>*, const bool*, const bool*, const bool*>::RefPtr GetV6RouteListNextCB; 00950 bool send_get_v6_route_list_next( 00951 const char* dst_xrl_target_name, 00952 const uint32_t& token, 00953 const GetV6RouteListNextCB& cb 00954 ); 00955 00956 protected: 00957 XrlSender* _sender; 00958 00959 private: 00960 static void unmarshall_get_bgp_version( 00961 const XrlError& e, 00962 XrlArgs* a, 00963 GetBgpVersionCB cb 00964 ); 00965 00966 static void unmarshall_local_config( 00967 const XrlError& e, 00968 XrlArgs* a, 00969 LocalConfigCB cb 00970 ); 00971 00972 static void unmarshall_set_local_as( 00973 const XrlError& e, 00974 XrlArgs* a, 00975 SetLocalAsCB cb 00976 ); 00977 00978 static void unmarshall_set_4byte_as_support( 00979 const XrlError& e, 00980 XrlArgs* a, 00981 Set4ByteAsSupportCB cb 00982 ); 00983 00984 static void unmarshall_get_local_as( 00985 const XrlError& e, 00986 XrlArgs* a, 00987 GetLocalAsCB cb 00988 ); 00989 00990 static void unmarshall_set_bgp_id( 00991 const XrlError& e, 00992 XrlArgs* a, 00993 SetBgpIdCB cb 00994 ); 00995 00996 static void unmarshall_get_bgp_id( 00997 const XrlError& e, 00998 XrlArgs* a, 00999 GetBgpIdCB cb 01000 ); 01001 01002 static void unmarshall_set_confederation_identifier( 01003 const XrlError& e, 01004 XrlArgs* a, 01005 SetConfederationIdentifierCB cb 01006 ); 01007 01008 static void unmarshall_set_cluster_id( 01009 const XrlError& e, 01010 XrlArgs* a, 01011 SetClusterIdCB cb 01012 ); 01013 01014 static void unmarshall_set_damping( 01015 const XrlError& e, 01016 XrlArgs* a, 01017 SetDampingCB cb 01018 ); 01019 01020 static void unmarshall_add_peer( 01021 const XrlError& e, 01022 XrlArgs* a, 01023 AddPeerCB cb 01024 ); 01025 01026 static void unmarshall_delete_peer( 01027 const XrlError& e, 01028 XrlArgs* a, 01029 DeletePeerCB cb 01030 ); 01031 01032 static void unmarshall_enable_peer( 01033 const XrlError& e, 01034 XrlArgs* a, 01035 EnablePeerCB cb 01036 ); 01037 01038 static void unmarshall_disable_peer( 01039 const XrlError& e, 01040 XrlArgs* a, 01041 DisablePeerCB cb 01042 ); 01043 01044 static void unmarshall_change_local_ip( 01045 const XrlError& e, 01046 XrlArgs* a, 01047 ChangeLocalIpCB cb 01048 ); 01049 01050 static void unmarshall_change_local_port( 01051 const XrlError& e, 01052 XrlArgs* a, 01053 ChangeLocalPortCB cb 01054 ); 01055 01056 static void unmarshall_change_peer_port( 01057 const XrlError& e, 01058 XrlArgs* a, 01059 ChangePeerPortCB cb 01060 ); 01061 01062 static void unmarshall_set_peer_as( 01063 const XrlError& e, 01064 XrlArgs* a, 01065 SetPeerAsCB cb 01066 ); 01067 01068 static void unmarshall_set_holdtime( 01069 const XrlError& e, 01070 XrlArgs* a, 01071 SetHoldtimeCB cb 01072 ); 01073 01074 static void unmarshall_set_delay_open_time( 01075 const XrlError& e, 01076 XrlArgs* a, 01077 SetDelayOpenTimeCB cb 01078 ); 01079 01080 static void unmarshall_set_route_reflector_client( 01081 const XrlError& e, 01082 XrlArgs* a, 01083 SetRouteReflectorClientCB cb 01084 ); 01085 01086 static void unmarshall_set_confederation_member( 01087 const XrlError& e, 01088 XrlArgs* a, 01089 SetConfederationMemberCB cb 01090 ); 01091 01092 static void unmarshall_set_prefix_limit( 01093 const XrlError& e, 01094 XrlArgs* a, 01095 SetPrefixLimitCB cb 01096 ); 01097 01098 static void unmarshall_set_nexthop4( 01099 const XrlError& e, 01100 XrlArgs* a, 01101 SetNexthop4CB cb 01102 ); 01103 01104 static void unmarshall_set_peer_state( 01105 const XrlError& e, 01106 XrlArgs* a, 01107 SetPeerStateCB cb 01108 ); 01109 01110 static void unmarshall_set_peer_md5_password( 01111 const XrlError& e, 01112 XrlArgs* a, 01113 SetPeerMd5PasswordCB cb 01114 ); 01115 01116 static void unmarshall_activate( 01117 const XrlError& e, 01118 XrlArgs* a, 01119 ActivateCB cb 01120 ); 01121 01122 static void unmarshall_set_parameter( 01123 const XrlError& e, 01124 XrlArgs* a, 01125 SetParameterCB cb 01126 ); 01127 01128 static void unmarshall_next_hop_rewrite_filter( 01129 const XrlError& e, 01130 XrlArgs* a, 01131 NextHopRewriteFilterCB cb 01132 ); 01133 01134 static void unmarshall_originate_route4( 01135 const XrlError& e, 01136 XrlArgs* a, 01137 OriginateRoute4CB cb 01138 ); 01139 01140 static void unmarshall_withdraw_route4( 01141 const XrlError& e, 01142 XrlArgs* a, 01143 WithdrawRoute4CB cb 01144 ); 01145 01146 static void unmarshall_trace( 01147 const XrlError& e, 01148 XrlArgs* a, 01149 TraceCB cb 01150 ); 01151 01152 static void unmarshall_get_peer_list_start( 01153 const XrlError& e, 01154 XrlArgs* a, 01155 GetPeerListStartCB cb 01156 ); 01157 01158 static void unmarshall_get_peer_list_next( 01159 const XrlError& e, 01160 XrlArgs* a, 01161 GetPeerListNextCB cb 01162 ); 01163 01164 static void unmarshall_get_peer_id( 01165 const XrlError& e, 01166 XrlArgs* a, 01167 GetPeerIdCB cb 01168 ); 01169 01170 static void unmarshall_get_peer_status( 01171 const XrlError& e, 01172 XrlArgs* a, 01173 GetPeerStatusCB cb 01174 ); 01175 01176 static void unmarshall_get_peer_negotiated_version( 01177 const XrlError& e, 01178 XrlArgs* a, 01179 GetPeerNegotiatedVersionCB cb 01180 ); 01181 01182 static void unmarshall_get_peer_as( 01183 const XrlError& e, 01184 XrlArgs* a, 01185 GetPeerAsCB cb 01186 ); 01187 01188 static void unmarshall_get_peer_msg_stats( 01189 const XrlError& e, 01190 XrlArgs* a, 01191 GetPeerMsgStatsCB cb 01192 ); 01193 01194 static void unmarshall_get_peer_established_stats( 01195 const XrlError& e, 01196 XrlArgs* a, 01197 GetPeerEstablishedStatsCB cb 01198 ); 01199 01200 static void unmarshall_get_peer_timer_config( 01201 const XrlError& e, 01202 XrlArgs* a, 01203 GetPeerTimerConfigCB cb 01204 ); 01205 01206 static void unmarshall_register_rib( 01207 const XrlError& e, 01208 XrlArgs* a, 01209 RegisterRibCB cb 01210 ); 01211 01212 static void unmarshall_get_v4_route_list_start( 01213 const XrlError& e, 01214 XrlArgs* a, 01215 GetV4RouteListStartCB cb 01216 ); 01217 01218 static void unmarshall_get_v4_route_list_next( 01219 const XrlError& e, 01220 XrlArgs* a, 01221 GetV4RouteListNextCB cb 01222 ); 01223 01224 static void unmarshall_set_nexthop6( 01225 const XrlError& e, 01226 XrlArgs* a, 01227 SetNexthop6CB cb 01228 ); 01229 01230 static void unmarshall_get_nexthop6( 01231 const XrlError& e, 01232 XrlArgs* a, 01233 GetNexthop6CB cb 01234 ); 01235 01236 static void unmarshall_withdraw_route6( 01237 const XrlError& e, 01238 XrlArgs* a, 01239 WithdrawRoute6CB cb 01240 ); 01241 01242 static void unmarshall_get_v6_route_list_start( 01243 const XrlError& e, 01244 XrlArgs* a, 01245 GetV6RouteListStartCB cb 01246 ); 01247 01248 static void unmarshall_originate_route6( 01249 const XrlError& e, 01250 XrlArgs* a, 01251 OriginateRoute6CB cb 01252 ); 01253 01254 static void unmarshall_get_v6_route_list_next( 01255 const XrlError& e, 01256 XrlArgs* a, 01257 GetV6RouteListNextCB cb 01258 ); 01259 01260 private: 01261 /* Declare cached Xrl pointers */ 01262 auto_ptr<Xrl> ap_xrl_get_bgp_version; 01263 auto_ptr<Xrl> ap_xrl_local_config; 01264 auto_ptr<Xrl> ap_xrl_set_local_as; 01265 auto_ptr<Xrl> ap_xrl_set_4byte_as_support; 01266 auto_ptr<Xrl> ap_xrl_get_local_as; 01267 auto_ptr<Xrl> ap_xrl_set_bgp_id; 01268 auto_ptr<Xrl> ap_xrl_get_bgp_id; 01269 auto_ptr<Xrl> ap_xrl_set_confederation_identifier; 01270 auto_ptr<Xrl> ap_xrl_set_cluster_id; 01271 auto_ptr<Xrl> ap_xrl_set_damping; 01272 auto_ptr<Xrl> ap_xrl_add_peer; 01273 auto_ptr<Xrl> ap_xrl_delete_peer; 01274 auto_ptr<Xrl> ap_xrl_enable_peer; 01275 auto_ptr<Xrl> ap_xrl_disable_peer; 01276 auto_ptr<Xrl> ap_xrl_change_local_ip; 01277 auto_ptr<Xrl> ap_xrl_change_local_port; 01278 auto_ptr<Xrl> ap_xrl_change_peer_port; 01279 auto_ptr<Xrl> ap_xrl_set_peer_as; 01280 auto_ptr<Xrl> ap_xrl_set_holdtime; 01281 auto_ptr<Xrl> ap_xrl_set_delay_open_time; 01282 auto_ptr<Xrl> ap_xrl_set_route_reflector_client; 01283 auto_ptr<Xrl> ap_xrl_set_confederation_member; 01284 auto_ptr<Xrl> ap_xrl_set_prefix_limit; 01285 auto_ptr<Xrl> ap_xrl_set_nexthop4; 01286 auto_ptr<Xrl> ap_xrl_set_peer_state; 01287 auto_ptr<Xrl> ap_xrl_set_peer_md5_password; 01288 auto_ptr<Xrl> ap_xrl_activate; 01289 auto_ptr<Xrl> ap_xrl_set_parameter; 01290 auto_ptr<Xrl> ap_xrl_next_hop_rewrite_filter; 01291 auto_ptr<Xrl> ap_xrl_originate_route4; 01292 auto_ptr<Xrl> ap_xrl_withdraw_route4; 01293 auto_ptr<Xrl> ap_xrl_trace; 01294 auto_ptr<Xrl> ap_xrl_get_peer_list_start; 01295 auto_ptr<Xrl> ap_xrl_get_peer_list_next; 01296 auto_ptr<Xrl> ap_xrl_get_peer_id; 01297 auto_ptr<Xrl> ap_xrl_get_peer_status; 01298 auto_ptr<Xrl> ap_xrl_get_peer_negotiated_version; 01299 auto_ptr<Xrl> ap_xrl_get_peer_as; 01300 auto_ptr<Xrl> ap_xrl_get_peer_msg_stats; 01301 auto_ptr<Xrl> ap_xrl_get_peer_established_stats; 01302 auto_ptr<Xrl> ap_xrl_get_peer_timer_config; 01303 auto_ptr<Xrl> ap_xrl_register_rib; 01304 auto_ptr<Xrl> ap_xrl_get_v4_route_list_start; 01305 auto_ptr<Xrl> ap_xrl_get_v4_route_list_next; 01306 auto_ptr<Xrl> ap_xrl_set_nexthop6; 01307 auto_ptr<Xrl> ap_xrl_get_nexthop6; 01308 auto_ptr<Xrl> ap_xrl_withdraw_route6; 01309 auto_ptr<Xrl> ap_xrl_get_v6_route_list_start; 01310 auto_ptr<Xrl> ap_xrl_originate_route6; 01311 auto_ptr<Xrl> ap_xrl_get_v6_route_list_next; 01312 }; 01313 01314 #endif /* __XRL_INTERFACES_BGP_XIF_HH__ */