#include "evl.h"
Go to the source code of this file.
Functions | |
| int | Evl_ComputeL7RuleSet (Evl_L4LookupTable_t *aRuleTable, Evl_L4Flow_t *aFlow) |
| Core evaluation function - takes a flow, returns set of applicable L7 rules. | |
| util_int_array_t * | Evl_ComputeL7RuleArray (Evl_L4LookupTable_t *aRuleTable, Evl_L4Flow_t *aFlow) |
| Core evaluation function - takes a flow, returns array of applicable L7 rules. | |
| void | Evl_ComputeRuleSetForEth (Pkt_ProcessPkt_t *pp, Evl_Manager_t *globalMgr) |
| Given an ethernet packet and Evl_Manager_t encoding a set of rules, determine all rules applicable to the packet. | |
| void | Evl_L4ComputeRuleSetForEth (Pkt_ProcessPkt_t *pp, Evl_L4Manager_t *l4mgr, array_t *result) |
| Compute rules for an ip packet based on the L4 structure. | |
| int | Evl_EthEvalL7RuleContentCheck (Pkt_EthernetHdr_t *anEth, array_t *aL7CheckArray) |
| Check content of an Eth packet. aL7CheckArray is an array of Rlp_L7Check_t *. | |
| void | Evl_EvalRuleArray (Evl_L4Manager_t *mgr, Pkt_ProcessPkt_t *pp, array_t *ruleArray, util_int_array_t *ruleIntArray, array_t *result) |
| Given an array_t or util_int_array_t of rules, return the subset that is applicable of the given packet. | |
| bool | Evl_EthEvalL7Rule (Pkt_ProcessPkt_t *pp, Rlp_Formula_t *aL7Formula, array_t *aL7CheckArray) |
| Given an ethernet packet and a layer 7 rule, determine if the rule holds of the packet. | |
| int | Evl_Preprocess (Evl_L4Manager_t *preprocessorMgr, Pkt_ProcessPkt_t *pp) |
| Perform preprocessing actions. | |
Definition in file evl.c.
| util_int_array_t* Evl_ComputeL7RuleArray | ( | Evl_L4LookupTable_t * | aRuleTable, | |
| Evl_L4Flow_t * | aFlow | |||
| ) |
| int Evl_ComputeL7RuleSet | ( | Evl_L4LookupTable_t * | aRuleTable, | |
| Evl_L4Flow_t * | aFlow | |||
| ) |
| void Evl_ComputeRuleSetForEth | ( | Pkt_ProcessPkt_t * | pp, | |
| Evl_Manager_t * | globalMgr | |||
| ) |
Given an ethernet packet and Evl_Manager_t encoding a set of rules, determine all rules applicable to the packet.
Packet is assumed to be in host order. Caller must pass in the array_t into which results are written.
Not handling icmp, just tcp, udp, ip
| bool Evl_EthEvalL7Rule | ( | Pkt_ProcessPkt_t * | pp, | |
| Rlp_Formula_t * | aL7Formula, | |||
| array_t * | aL7CheckArray | |||
| ) |
Given an ethernet packet and a layer 7 rule, determine if the rule holds of the packet.
Pass in an array of Rlp_L7Check_t for the content check; if it's NIL there are no content checks.
| int Evl_EthEvalL7RuleContentCheck | ( | Pkt_EthernetHdr_t * | anEth, | |
| array_t * | aL7CheckArray | |||
| ) |
| void Evl_EvalRuleArray | ( | Evl_L4Manager_t * | mgr, | |
| Pkt_ProcessPkt_t * | pp, | |||
| array_t * | ruleArray, | |||
| util_int_array_t * | ruleIntArray, | |||
| array_t * | result | |||
| ) |
Given an array_t or util_int_array_t of rules, return the subset that is applicable of the given packet.
Result must be passed in, and be as long as there are rules in the mgr.
| void Evl_L4ComputeRuleSetForEth | ( | Pkt_ProcessPkt_t * | pp, | |
| Evl_L4Manager_t * | l4mgr, | |||
| array_t * | result | |||
| ) |
| int Evl_Preprocess | ( | Evl_L4Manager_t * | preprocessorMgr, | |
| Pkt_ProcessPkt_t * | pp | |||
| ) |