summaryrefslogtreecommitdiffstats
path: root/src/vnet/flow/flow_report_classify.h
diff options
context:
space:
mode:
authorOle Troan <ot@cisco.com>2018-05-02 12:45:10 +0200
committerDamjan Marion <dmarion.lists@gmail.com>2018-05-04 21:52:23 +0000
commita9855ef839ab99d7e66b9dd8d706b14cc8cd77dd (patch)
tree79e11f4ad26161bfa36e1f23bcd5c484ac64e517 /src/vnet/flow/flow_report_classify.h
parentc44f0f238a1878b0db0c59e4c34a652d469f0090 (diff)
Flow: Rename IPFIX exporter.
Change-Id: I9363cf54b73f7cfd8622af6f1cb250438ea0d3b6 Signed-off-by: Ole Troan <ot@cisco.com>
Diffstat (limited to 'src/vnet/flow/flow_report_classify.h')
-rw-r--r--src/vnet/flow/flow_report_classify.h134
1 files changed, 0 insertions, 134 deletions
diff --git a/src/vnet/flow/flow_report_classify.h b/src/vnet/flow/flow_report_classify.h
deleted file mode 100644
index 0533b450122..00000000000
--- a/src/vnet/flow/flow_report_classify.h
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Copyright (c) 2015 Cisco and/or its affiliates.
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef __included_flow_report_classify_h__
-#define __included_flow_report_classify_h__
-
-#define foreach_ipfix_ip4_field \
-_(ip->src_address.as_u32, ((u32[]){0xFFFFFFFF}), sourceIPv4Address, 4) \
-_(ip->dst_address.as_u32, ((u32[]){0xFFFFFFFF}), destinationIPv4Address, 4) \
-_(ip->protocol, ((u8[]){0xFF}), protocolIdentifier, 1)
-
-#define foreach_ipfix_ip6_field \
-_(ip6->src_address.as_u8, \
- ((u32[]){0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF}), \
- sourceIPv6Address, 16) \
-_(ip6->dst_address.as_u8, \
- ((u32[]){0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF}), \
- destinationIPv6Address, 16) \
-_(ip6->protocol, ((u8[]){0xFF}), protocolIdentifier, 1)
-
-#define foreach_ipfix_tcpudp_field \
-_(tcpudp->src_port, ((u16[]){0xFFFF}), sourceTransportPort, 2) \
-_(tcpudp->dst_port, ((u16[]){0xFFFF}), destinationTransportPort, 2)
-
-#define foreach_ipfix_tcp_field \
-_(tcpudp->src_port, ((u16[]){0xFFFF}), tcpSourcePort, 2) \
-_(tcpudp->dst_port, ((u16[]){0xFFFF}), tcpDestinationPort, 2)
-
-#define foreach_ipfix_udp_field \
-_(tcpudp->src_port, ((u16[]){0xFFFF}), udpSourcePort, 2) \
-_(tcpudp->dst_port, ((u16[]){0xFFFF}), udpDestinationPort, 2)
-
-#define foreach_ipfix_transport_protocol_field \
- switch (transport_protocol) { \
- case 255: \
- foreach_ipfix_tcpudp_field; \
- break; \
- case 6: \
- foreach_ipfix_tcp_field; \
- break; \
- case 17: \
- foreach_ipfix_udp_field; \
- break; \
- }
-
-#define foreach_ipfix_field \
- if (ip_version == 4) { \
- ip = (ip4_header_t *)ip_start; \
- tcpudp = (tcpudp_header_t *)(ip+1); \
- foreach_ipfix_ip4_field; \
- } else { \
- ip6 = (ip6_header_t *)ip_start; \
- tcpudp = (tcpudp_header_t *)(ip6+1); \
- foreach_ipfix_ip6_field; \
- } \
- foreach_ipfix_transport_protocol_field
-
-typedef struct
-{
- u32 classify_table_index;
- u8 ip_version;
- u8 transport_protocol;
-} ipfix_classify_table_t;
-
-typedef struct
-{
- u32 domain_id;
- u16 src_port;
- ipfix_classify_table_t *tables;
-} flow_report_classify_main_t;
-
-extern flow_report_classify_main_t flow_report_classify_main;
-
-static_always_inline u8
-ipfix_classify_table_index_valid (u32 index)
-{
- flow_report_classify_main_t *fcm = &flow_report_classify_main;
- return index < vec_len (fcm->tables) &&
- fcm->tables[index].classify_table_index != ~0;
-}
-
-static_always_inline ipfix_classify_table_t *
-ipfix_classify_add_table (void)
-{
- flow_report_classify_main_t *fcm = &flow_report_classify_main;
- u32 i;
- for (i = 0; i < vec_len (fcm->tables); i++)
- if (!ipfix_classify_table_index_valid (i))
- return &fcm->tables[i];
- u32 index = vec_len (fcm->tables);
- vec_validate (fcm->tables, index);
- return &fcm->tables[index];
-}
-
-static_always_inline void
-ipfix_classify_delete_table (u32 index)
-{
- flow_report_classify_main_t *fcm = &flow_report_classify_main;
- ASSERT (index < vec_len (fcm->tables));
- ASSERT (fcm->tables[index].classify_table_index != ~0);
- fcm->tables[index].classify_table_index = ~0;
-}
-
-u8 *ipfix_classify_template_rewrite (flow_report_main_t * frm,
- flow_report_t * fr,
- ip4_address_t * collector_address,
- ip4_address_t * src_address,
- u16 collector_port);
-
-vlib_frame_t *ipfix_classify_send_flows (flow_report_main_t * frm,
- flow_report_t * fr,
- vlib_frame_t * f,
- u32 * to_next, u32 node_index);
-
-#endif /* __included_flow_report_classify_h__ */
-
-/*
- * fd.io coding-style-patch-verification: ON
- *
- * Local Variables:
- * eval: (c-set-style "gnu")
- * End:
- */