aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/mactime
AgeCommit message (Expand)AuthorFilesLines
2019-01-30Use IP and MAC API types for neighborsNeale Ranns2-3/+2
2018-11-14Remove c-11 memcpy checks from perf-critical codeDave Barach1-5/+6
2018-11-01Fix API name_crc format stored in msg_api_tableIgor Mikhailov (imichail)1-1/+1
2018-10-23c11 safe string handling supportDave Barach1-3/+3
2018-09-11VAT: plugin load errorsOle Troan1-2/+19
2018-08-27cmake: Fix plugins .h includesMohsin Kazmi1-0/+4
2018-08-25cmake: handle api_test_plugins in add_vpp_plugin macroDamjan Marion1-4/+1
2018-08-25cmake: improve add_vpp_plugin macroDamjan Marion1-3/+6
2018-08-22Consolidate the [un]format_mac_address implementationsNeale Ranns2-24/+1
2018-08-17CMake as an alternative to autotools (experimental)Damjan Marion1-0/+24
2018-07-11VPP-1338: fix coverity warning in mactime pluginDave Barach1-1/+3
2018-06-23Tx feature node, for accounting purposesDave Barach3-136/+204
2018-06-21Null terminate name stringDave Barach1-1/+1
2018-06-20Nested-loop index typo. Oops.Dave Barach1-6/+6
2018-06-19Driver level time-based src mac filterDave Barach7-0/+1458
#dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
/*
 *------------------------------------------------------------------
 * spp_ctx.h - packet / context definitions
 *
 * Copyright (c) 2007-2014 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 __SPP_CTX_H__
#define __SPP_CTX_H__

/* Packet header / data */

/* Any change to spp_ctx_t structure should be updated in vnet/buffer.h
 * as well.
 */
typedef struct _spp_ctx {
#ifdef TOBE_PORTED
        /* Following fields are required to handle multibuffer */
        u32   num_buffers; /* Number of buffers part of packet */
        vlib_buffer_t *next_ctx_this_packet;

        /* Following is used by non-UDP protocols */
#define SPP_CTX_FEATURE_DATA_SIZE 16

        u8 feature_data[SPP_CTX_FEATURE_DATA_SIZE];
#endif

    union { /* Roddick specific */
        u32 roddick_info;
        struct __tx_pkt_info  { /* Used by PI to PI communication for TX */
            u32 uidb_index:16;       /* uidb_index to transmit */
            u32  packet_type:2;   /* 1-IPv4, 2-Ipv6, - 0,3 - Unused */
            u32  ipv4_defrag:1;    /* 0 - Normal, 1 - update first
                                    * segment size
                                    * (set by 6rd defrag node)
                                    */

            u32  dst_ip_port_idx:4;/* Index to dst_ip_port_table */
            u32  from_node:4;
            u32  calc_chksum:1;
            u32  reserved:4;
        } tx;
        struct __rx_pkt_info { /* Used by PD / PI communication */
            u32 uidb_index:16;    /* uidb_index received in packet */
            u32  packet_type:2;   /* 1-IPv4, 2-Ipv6, - 0,3 - Unused */
            u32  icmp_type:1;     /* 0-ICMP query type, 1-ICMP error type */
            u32  protocol_type:2; /* 1-TCP, 2-UDP, 3-ICMP, 0 - Unused */
            u32  ipv4_defrag:1;    /* 0 - Normal, 1 - update first
                                    * segment size
                                    * (set by 6rd defrag node)
                                    */

            u32  direction:1;     /* 0-Outside, 1-Inside */
            u32  frag:1;          /*IP fragment-1, Otherwise-0*/
            u32  option:1;        /* 0-No IP option (v4) present, non-fragHdr
                                   * option hdr present (v6)
                                   */
            u32  df_bit:1;        /* IPv4 DF bit copied here */
            u32  reserved1:6;
        } rx;
    } ru;
} spp_ctx_t;

#endif