|
xorp
|
00001 // -*- c-basic-offset: 4; tab-width: 8; indent-tabs-mode: t -*- 00002 00003 // Copyright (c) 2001-2011 XORP, Inc and Others 00004 // 00005 // This program is free software; you can redistribute it and/or modify 00006 // it under the terms of the GNU General Public License, Version 2, June 00007 // 1991 as published by the Free Software Foundation. Redistribution 00008 // and/or modification of this program under the terms of any other 00009 // version of the GNU General Public License is not permitted. 00010 // 00011 // This program is distributed in the hope that it will be useful, but 00012 // WITHOUT ANY WARRANTY; without even the implied warranty of 00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For more details, 00014 // see the GNU General Public License, Version 2, a copy of which can be 00015 // found in the XORP LICENSE.gpl file. 00016 // 00017 // XORP Inc, 2953 Bunker Hill Lane, Suite 204, Santa Clara, CA 95054, USA; 00018 // http://xorp.net 00019 00020 00021 #ifndef __FEA_DATA_PLANE_FIBCONFIG_FIBCONFIG_ENTRY_OBSERVER_ROUTING_SOCKET_HH__ 00022 #define __FEA_DATA_PLANE_FIBCONFIG_FIBCONFIG_ENTRY_OBSERVER_ROUTING_SOCKET_HH__ 00023 00024 #include <xorp_config.h> 00025 #ifdef HAVE_ROUTING_SOCKETS 00026 00027 #include "fea/fibconfig_entry_observer.hh" 00028 #include "fea/data_plane/control_socket/routing_socket.hh" 00029 00030 00031 class FibConfigEntryObserverRoutingSocket : public FibConfigEntryObserver, 00032 public RoutingSocket, 00033 public RoutingSocketObserver { 00034 public: 00041 FibConfigEntryObserverRoutingSocket(FeaDataPlaneManager& fea_data_plane_manager); 00042 00046 virtual ~FibConfigEntryObserverRoutingSocket(); 00047 00054 virtual int start(string& error_msg); 00055 00062 virtual int stop(string& error_msg); 00063 00069 virtual void receive_data(const vector<uint8_t>& buffer); 00070 00071 void routing_socket_data(const vector<uint8_t>& buffer); 00072 00075 virtual int notify_table_id_change(uint32_t new_tbl) { 00076 // Virtual routing tables not implemented on BSD 00077 UNUSED(new_tbl); 00078 return XORP_OK; 00079 } 00080 00081 private: 00082 00083 }; 00084 00085 #endif 00086 #endif // __FEA_DATA_PLANE_FIBCONFIG_FIBCONFIG_ENTRY_OBSERVER_ROUTING_SOCKET_HH__