aboutsummaryrefslogtreecommitdiff
path: root/platform/linux-generic/source/odp_packet_flags.c
blob: 992b94b41f33881bf36e0d5af3dce4f8cb167620 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
/* Copyright (c) 2014, Linaro Limited
 * All rights reserved.
 *
 * SPDX-License-Identifier:     BSD-3-Clause
 */

#include <odp_packet_flags.h>
#include <odp_packet_internal.h>


int odp_packet_error(odp_packet_t pkt)
{
	return (odp_packet_hdr(pkt)->error_flags.all != 0);
}

/* Get Error Flags */

int odp_packet_errflag_frame_len(odp_packet_t pkt)
{
	return odp_packet_hdr(pkt)->error_flags.frame_len;
}

/* Get Input Flags */

int odp_packet_inflag_l2(odp_packet_t pkt)
{
	return odp_packet_hdr(pkt)->input_flags.l2;
}

int odp_packet_inflag_l3(odp_packet_t pkt)
{
	return odp_packet_hdr(pkt)->input_flags.l3;
}

int odp_packet_inflag_l4(odp_packet_t pkt)
{
	return odp_packet_hdr(pkt)->input_flags.l4;
}

int odp_packet_inflag_eth(odp_packet_t pkt)
{
	return odp_packet_hdr(pkt)->input_flags.eth;
}

int odp_packet_inflag_jumbo(odp_packet_t pkt)
{
	return odp_packet_hdr(pkt)->input_flags.jumbo;
}

int odp_packet_inflag_vlan(odp_packet_t pkt)
{
	return odp_packet_hdr(pkt)->input_flags.vlan;
}

int odp_packet_inflag_vlan_qinq(odp_packet_t pkt)
{
	return odp_packet_hdr(pkt)->input_flags.vlan_qinq;
}

int odp_packet_inflag_arp(odp_packet_t pkt)
{
	return odp_packet_hdr(pkt)->input_flags.arp;
}

int odp_packet_inflag_ipv4(odp_packet_t pkt)
{
	return odp_packet_hdr(pkt)->input_flags.ipv4;
}

int odp_packet_inflag_ipv6(odp_packet_t pkt)
{
	return odp_packet_hdr(pkt)->input_flags.ipv6;
}

int odp_packet_inflag_ipfrag(odp_packet_t pkt)
{
	return odp_packet_hdr(pkt)->input_flags.ipfrag;
}

int odp_packet_inflag_ipopt(odp_packet_t pkt)
{
	return odp_packet_hdr(pkt)->input_flags.ipopt;
}

int odp_packet_inflag_ipsec(odp_packet_t pkt)
{
	return odp_packet_hdr(pkt)->input_flags.ipsec;
}

int odp_packet_inflag_udp(odp_packet_t pkt)
{
	return odp_packet_hdr(pkt)->input_flags.udp;
}

int odp_packet_inflag_tcp(odp_packet_t pkt)
{
	return odp_packet_hdr(pkt)->input_flags.tcp;
}

int odp_packet_inflag_sctp(odp_packet_t pkt)
{
	return odp_packet_hdr(pkt)->input_flags.sctp;
}

int odp_packet_inflag_icmp(odp_packet_t pkt)
{
	return odp_packet_hdr(pkt)->input_flags.icmp;
}

/* Set Output Flags */

void odp_packet_outflag_l4_chksum(odp_packet_t pkt)
{
	odp_packet_hdr(pkt)->output_flags.l4_chksum = 1;
}