![]() |
User Manual, Developers Guide and API Documentation |
![]() |
00001 /****************************************************************************** 00002 * IPModule Internet Protocol Implementation * 00003 * __________________________________________________________________________ * 00004 * * 00005 * Copyright (C) 2005 * 00006 * Lehrstuhl fuer Kommunikationsnetze (ComNets) * 00007 * Kopernikusstr. 16, D-52074 Aachen, Germany * 00008 * phone: ++49-241-80-27910 (phone), fax: ++49-241-80-22242 * 00009 * email: wns@comnetsrwth-aachen.de, www: http://wns.comnets.rwth-aachen.de/ * 00010 ******************************************************************************/ 00011 00012 #ifndef IP_IPTABLES_TARGETS_DLLFLOWIDTARGET_HPP 00013 #define IP_IPTABLES_TARGETS_DLLFLOWIDTARGET_HPP 00014 00015 #include <IP/IPHeader.hpp> 00016 #include <IP/iptables/targets/TargetInterface.hpp> 00017 #include <IP/iptables/IRuleControl.hpp> 00018 00019 #include <WNS/pyconfig/View.hpp> 00020 #include <WNS/logger/Logger.hpp> 00021 00022 namespace ip { namespace iptables { namespace targets { 00023 00024 class DLLFlowIDTarget: 00025 public TargetInterface 00026 { 00027 public: 00028 00029 DLLFlowIDTarget(const wns::pyconfig::View& _pyco); 00030 00031 virtual 00032 ~DLLFlowIDTarget(); 00033 00034 virtual TargetResult 00035 mangle(IPCommand*); 00036 00037 virtual TargetResult 00038 mangle(IPCommand*, wns::service::tl::IUDPHeader*); 00039 00040 virtual TargetResult 00041 mangle(IPCommand*, wns::service::tl::ITCPHeader*); 00042 00043 void 00044 setRuleController(ip::iptables::IRuleControl* controller); 00045 00046 void 00047 ruleErased(wns::service::dll::FlowID flowID); 00048 00049 private: 00050 00051 bool 00052 knowsTLFlowID(wns::service::tl::FlowID tlFlowID); 00053 00054 wns::service::dll::FlowID 00055 getDLLFlowID(wns::service::tl::FlowID tlFlowID); 00056 00057 typedef wns::container::Registry<wns::service::dll::FlowID, wns::service::tl::FlowID> dllFlowIDList; 00058 wns::logger::Logger log; 00059 ip::iptables::IRuleControl* postroutingChain; 00060 dllFlowIDList knowsFlowIDList; 00061 }; 00062 00063 } // targets 00064 } // iptables 00065 } // ip 00066 #endif // IP_IPTABLES_TARGETS_DLLFLOWIDTARGET_HPP
1.5.5