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