Line data Source code
1 : /* 2 : * Copyright (c) 2013 Juniper Networks, Inc. All rights reserved. 3 : */ 4 : #include "vr_types.h" 5 : 6 : #include "vrouter/ksync/agent_ksync_types.h" 7 : #include "ksync/ksync_index.h" 8 : #include "ksync/ksync_entry.h" 9 : #include "ksync/ksync_object.h" 10 : #include "ksync/ksync_netlink.h" 11 : #include "ksync/ksync_sock.h" 12 : #include <vrouter/ksync/flowtable_ksync.h> 13 : 14 : class KSyncFlowMemory; 15 : 16 : /* Sandesh Context used for processing vr_response and vr_flow_req 17 : * which is in response to Sandesh Adds/Deletes 18 : */ 19 : class KSyncSandeshContext : public AgentSandeshContext { 20 : public: 21 6 : KSyncSandeshContext(KSync *obj) : ksync_(obj) { 22 6 : Reset(); 23 6 : } 24 : 25 : virtual void IfMsgHandler(vr_interface_req *req); 26 0 : virtual void NHMsgHandler(vr_nexthop_req *req) { 27 0 : assert(0); 28 : } 29 0 : virtual void RouteMsgHandler(vr_route_req *req) { 30 0 : assert(0); 31 : } 32 0 : virtual void MplsMsgHandler(vr_mpls_req *req) { 33 0 : assert(0); 34 : } 35 0 : virtual void MirrorMsgHandler(vr_mirror_req *req) { 36 0 : assert(0); 37 : } 38 0 : virtual void VrfAssignMsgHandler(vr_vrf_assign_req *req) { 39 0 : assert(0); 40 : } 41 0 : virtual void VrfMsgHandler(vr_vrf_req *req) { 42 0 : assert(0); 43 : } 44 0 : virtual void VrfStatsMsgHandler(vr_vrf_stats_req *req) { 45 0 : assert(0); 46 : } 47 0 : virtual void DropStatsMsgHandler(vr_drop_stats_req *req) { 48 0 : assert(0); 49 : } 50 0 : virtual void VxLanMsgHandler(vr_vxlan_req *req) { 51 0 : assert(0); 52 : } 53 0 : virtual void QosConfigMsgHandler(vr_qos_map_req *req) { 54 0 : assert(0); 55 : } 56 0 : virtual void ForwardingClassMsgHandler(vr_fc_map_req *req) { 57 0 : assert(0); 58 : } 59 : 60 : virtual int VrResponseMsgHandler(vr_response *r); 61 : virtual void FlowTableInfoHandler(vr_flow_table_data *r); 62 : virtual void BridgeTableInfoHandler(vr_bridge_table_data *r); 63 : virtual void FlowMsgHandler(vr_flow_req *r); 64 : virtual void FlowResponseHandler(vr_flow_response *r); 65 : virtual void VrouterHugePageHandler(vr_hugepage_config *r); 66 : virtual void VrouterOpsMsgHandler(vrouter_ops *r); 67 : 68 : int response_code() const { return response_code_; } 69 : int context_marker() const { return context_marker_; } 70 6 : void Reset() { 71 6 : response_code_ = 0; 72 6 : context_marker_ = -1; 73 6 : } 74 : private: 75 : KSync *ksync_; 76 : int response_code_; 77 : int context_marker_; 78 : DISALLOW_COPY_AND_ASSIGN(KSyncSandeshContext); 79 : };