Added log to tft_packet_filter.

This commit is contained in:
Pedro Alvarez 2019-06-05 16:49:35 +01:00 committed by Andre Puschmann
parent fa7d91e1c9
commit 7a184a8cd8
4 changed files with 15 additions and 9 deletions

View File

@ -24,6 +24,7 @@
#include "srslte/asn1/liblte_mme.h"
#include "srslte/common/buffer_pool.h"
#include "srslte/common/log.h"
namespace srsue {
@ -65,7 +66,7 @@ const uint8_t TCP_PROTOCOL = 0x06;
class tft_packet_filter_t
{
public:
tft_packet_filter_t(uint8_t eps_bearer_id, const LIBLTE_MME_PACKET_FILTER_STRUCT& tft);
tft_packet_filter_t(uint8_t eps_bearer_id, const LIBLTE_MME_PACKET_FILTER_STRUCT& tft, srslte::log* log);
bool match(const srslte::unique_byte_buffer_t& pdu);
uint8_t eps_bearer_id;
@ -87,6 +88,8 @@ public:
uint8_t type_of_service_mask;
uint8_t flow_label[3];
srslte::log* log;
bool match_ip(const srslte::unique_byte_buffer_t& pdu);
bool match_protocol(const srslte::unique_byte_buffer_t& pdu);
bool match_type_of_service(const srslte::unique_byte_buffer_t& pdu);

View File

@ -227,7 +227,7 @@ int gw::apply_traffic_flow_template(uint8_t erab_id, const LIBLTE_MME_TRAFFIC_FL
gw_log->console("Adding new TFT\n");
for (int i = 0; i < tft->packet_filter_list_size; i++) {
gw_log->console("New packet filter for TFT\n");
tft_packet_filter_t filter(erab_id, tft->packet_filter_list[i]);
tft_packet_filter_t filter(erab_id, tft->packet_filter_list[i], gw_log);
auto it = tft_filter_map.insert(std::make_pair(filter.eval_precedence, filter));
if (it.second == false) {
gw_log->error("Error inserting TFT Packet Filter\n");

View File

@ -26,11 +26,14 @@
namespace srsue {
tft_packet_filter_t::tft_packet_filter_t(uint8_t eps_bearer_id, const LIBLTE_MME_PACKET_FILTER_STRUCT& tft) :
tft_packet_filter_t::tft_packet_filter_t(uint8_t eps_bearer_id,
const LIBLTE_MME_PACKET_FILTER_STRUCT& tft,
srslte::log* log) :
eps_bearer_id(eps_bearer_id),
id(tft.id),
eval_precedence(tft.eval_precedence),
active_filters(0)
active_filters(0),
log(log)
{
int idx = 0;
while (idx < tft.filter_size) {

View File

@ -104,7 +104,7 @@ int tft_filter_test_single_local_port()
packet_filter.filter_size = 3;
memcpy(packet_filter.filter, filter_message, 3);
srsue::tft_packet_filter_t filter(EPS_BEARER_ID, packet_filter);
srsue::tft_packet_filter_t filter(EPS_BEARER_ID, packet_filter, &log1);
// Check filter
TESTASSERT(filter.match(ip_msg1));
@ -152,7 +152,7 @@ int tft_filter_test_single_remote_port()
packet_filter.filter_size = 3;
memcpy(packet_filter.filter, filter_message, 3);
srsue::tft_packet_filter_t filter(EPS_BEARER_ID, packet_filter);
srsue::tft_packet_filter_t filter(EPS_BEARER_ID, packet_filter, &log1);
// Check filter
TESTASSERT(filter.match(ip_msg1));
@ -201,7 +201,7 @@ int tft_filter_test_ipv4_local_addr()
packet_filter.filter_size = filter_size;
memcpy(packet_filter.filter, filter_message, filter_size);
srsue::tft_packet_filter_t filter(EPS_BEARER_ID, packet_filter);
srsue::tft_packet_filter_t filter(EPS_BEARER_ID, packet_filter, &log1);
// Check filter
TESTASSERT(filter.match(ip_msg1));
@ -250,7 +250,7 @@ int tft_filter_test_ipv4_remote_addr()
packet_filter.filter_size = filter_size;
memcpy(packet_filter.filter, filter_message, filter_size);
srsue::tft_packet_filter_t filter(EPS_BEARER_ID, packet_filter);
srsue::tft_packet_filter_t filter(EPS_BEARER_ID, packet_filter, &log1);
// Check filter
TESTASSERT(filter.match(ip_msg1));
@ -298,7 +298,7 @@ int tft_filter_test_ipv4_tos()
packet_filter.filter_size = filter_size;
memcpy(packet_filter.filter, filter_message, filter_size);
srsue::tft_packet_filter_t filter(EPS_BEARER_ID, packet_filter);
srsue::tft_packet_filter_t filter(EPS_BEARER_ID, packet_filter, &log1);
// Check filter
TESTASSERT(filter.match(ip_msg1));