net: add rte prefix to IP defines

Add 'RTE_' prefix to defines:
- rename IPv4( as RTE_IPv4(.
- rename IPV4_MAX_PKT_LEN as RTE_IPV4_MAX_PKT_LEN.
- rename IPV4_HDR_IHL_MASK as RTE_IPV4_HDR_IHL_MASK.
- rename IPV4_IHL_MULTIPLIER as RTE_IPV4_IHL_MULTIPLIER.
- rename IPV4_HDR_DF_SHIFT as RTE_IPV4_HDR_DF_SHIFT.
- rename IPV4_HDR_MF_SHIFT as RTE_IPV4_HDR_MF_SHIFT.
- rename IPV4_HDR_FO_SHIFT as RTE_IPV4_HDR_FO_SHIFT.
- rename IPV4_HDR_DF_FLAG as RTE_IPV4_HDR_DF_FLAG.
- rename IPV4_HDR_MF_FLAG as RTE_IPV4_HDR_MF_FLAG.
- rename IPV4_HDR_OFFSET_MASK as RTE_IPV4_HDR_OFFSET_MASK.
- rename IPV4_HDR_OFFSET_UNITS as RTE_IPV4_HDR_OFFSET_UNITS.
- rename IPV4_ANY as RTE_IPV4_ANY.
- rename IPV4_LOOPBACK as RTE_IPV4_LOOPBACK.
- rename IPV4_BROADCAST as RTE_IPV4_BROADCAST.
- rename IPV4_ALLHOSTS_GROUP as RTE_IPV4_ALLHOSTS_GROUP.
- rename IPV4_ALLRTRS_GROUP as RTE_IPV4_ALLRTRS_GROUP.
- rename IPV4_MAX_LOCAL_GROUP as RTE_IPV4_MAX_LOCAL_GROUP.
- rename IPV4_MIN_MCAST as RTE_IPV4_MIN_MCAST.
- rename IPV4_MAX_MCAST as RTE_IPV4_MAX_MCAST.
- rename IS_IPV4_MCAST as RTE_IS_IPV4_MCAST.
- rename IPV6_HDR_FL_SHIFT as RTE_IPV6_HDR_FL_SHIFT.
- rename IPV6_HDR_TC_SHIFT as RTE_IPV6_HDR_TC_SHIFT.
- rename IPV6_HDR_FL_MASK as RTE_IPV6_HDR_FL_MASK.
- rename IPV6_HDR_TC_MASK as RTE_IPV6_HDR_TC_MASK.

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Reviewed-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
This commit is contained in:
Olivier Matz 2019-05-21 18:13:11 +02:00 committed by Ferruh Yigit
parent a7c528e5d7
commit 24ac604ef7
50 changed files with 364 additions and 358 deletions

View File

@ -625,7 +625,7 @@ parse_ipv4_net(const char *in, uint32_t *addr, uint32_t *mask_len)
GET_CB_FIELD(in, d, 0, UINT8_MAX, '/');
GET_CB_FIELD(in, m, 0, sizeof(uint32_t) * CHAR_BIT, 0);
addr[0] = IPv4(a, b, c, d);
addr[0] = RTE_IPv4(a, b, c, d);
mask_len[0] = m;
return 0;

View File

@ -3532,12 +3532,12 @@ parse_vc_action_vxlan_encap(struct context *ctx, const struct token *token,
memcpy(&ipv6_mask_tos, &rte_flow_item_ipv6_mask,
sizeof(ipv6_mask_tos));
ipv6_mask_tos.hdr.vtc_flow |=
RTE_BE32(0xfful << IPV6_HDR_TC_SHIFT);
RTE_BE32(0xfful << RTE_IPV6_HDR_TC_SHIFT);
ipv6_mask_tos.hdr.hop_limits = 0xff;
action_vxlan_encap_data->item_ipv6.hdr.vtc_flow |=
rte_cpu_to_be_32
((uint32_t)vxlan_encap_conf.ip_tos <<
IPV6_HDR_TC_SHIFT);
RTE_IPV6_HDR_TC_SHIFT);
action_vxlan_encap_data->item_ipv6.hdr.hop_limits =
vxlan_encap_conf.ip_ttl;
action_vxlan_encap_data->items[2].mask =

View File

@ -72,8 +72,8 @@
/* hardcoded configuration (for now) */
static unsigned cfg_n_flows = 1024;
static uint32_t cfg_ip_src = IPv4(10, 254, 0, 0);
static uint32_t cfg_ip_dst = IPv4(10, 253, 0, 0);
static uint32_t cfg_ip_src = RTE_IPv4(10, 254, 0, 0);
static uint32_t cfg_ip_dst = RTE_IPv4(10, 253, 0, 0);
static uint16_t cfg_udp_src = 1000;
static uint16_t cfg_udp_dst = 1001;
static struct rte_ether_addr cfg_ether_src =

View File

@ -480,8 +480,8 @@ struct vxlan_encap_conf vxlan_encap_conf = {
.vni = "\x00\x00\x00",
.udp_src = 0,
.udp_dst = RTE_BE16(4789),
.ipv4_src = IPv4(127, 0, 0, 1),
.ipv4_dst = IPv4(255, 255, 255, 255),
.ipv4_src = RTE_IPv4(127, 0, 0, 1),
.ipv4_dst = RTE_IPv4(255, 255, 255, 255),
.ipv6_src = "\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x01",
.ipv6_dst = "\x00\x00\x00\x00\x00\x00\x00\x00"
@ -497,8 +497,8 @@ struct nvgre_encap_conf nvgre_encap_conf = {
.select_ipv4 = 1,
.select_vlan = 0,
.tni = "\x00\x00\x00",
.ipv4_src = IPv4(127, 0, 0, 1),
.ipv4_dst = IPv4(255, 255, 255, 255),
.ipv4_src = RTE_IPv4(127, 0, 0, 1),
.ipv4_dst = RTE_IPv4(255, 255, 255, 255),
.ipv6_src = "\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x01",
.ipv6_dst = "\x00\x00\x00\x00\x00\x00\x00\x00"

View File

@ -515,15 +515,15 @@ test_build_ports_range(void)
static struct ipv4_7tuple test_data[] = {
{
.proto = 6,
.ip_src = IPv4(10, 1, 1, 1),
.ip_dst = IPv4(192, 168, 0, 33),
.ip_src = RTE_IPv4(10, 1, 1, 1),
.ip_dst = RTE_IPv4(192, 168, 0, 33),
.port_dst = 53,
.allow = 1,
},
{
.proto = 6,
.ip_src = IPv4(127, 84, 33, 1),
.ip_dst = IPv4(1, 2, 3, 4),
.ip_src = RTE_IPv4(127, 84, 33, 1),
.ip_dst = RTE_IPv4(1, 2, 3, 4),
.port_dst = 65281,
.allow = 1,
},

View File

@ -82,13 +82,13 @@ struct rte_acl_ipv4vlan_rule invalid_layout_rules[] = {
{
.data = {.userdata = 1, .category_mask = 1,
.priority = 1},
.src_addr = IPv4(10,0,0,0),
.src_addr = RTE_IPv4(10,0,0,0),
.src_mask_len = 24,
},
{
.data = {.userdata = 2, .category_mask = 1,
.priority = 1},
.dst_addr = IPv4(10,0,0,0),
.dst_addr = RTE_IPv4(10,0,0,0),
.dst_mask_len = 24,
},
/* test src and dst ports */
@ -124,8 +124,8 @@ struct rte_acl_ipv4vlan_rule invalid_layout_rules[] = {
* results using the wrong data layout.
*/
struct ipv4_7tuple invalid_layout_data[] = {
{.ip_src = IPv4(10,0,1,0)}, /* should not match */
{.ip_src = IPv4(10,0,0,1), .allow = 2}, /* should match 2 */
{.ip_src = RTE_IPv4(10,0,1,0)}, /* should not match */
{.ip_src = RTE_IPv4(10,0,0,1), .allow = 2}, /* should match 2 */
{.port_src = 100, .allow = 4}, /* should match 4 */
{.port_dst = 0xf, .allow = 6}, /* should match 6 */
};
@ -142,7 +142,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
{
.data = {.userdata = 1, .category_mask = ACL_ALLOW_MASK,
.priority = 230},
.dst_addr = IPv4(192,168,0,0),
.dst_addr = RTE_IPv4(192,168,0,0),
.dst_mask_len = 16,
.src_port_low = 0,
.src_port_high = 0xffff,
@ -153,7 +153,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
{
.data = {.userdata = 2, .category_mask = ACL_ALLOW_MASK,
.priority = 330},
.dst_addr = IPv4(192,168,1,0),
.dst_addr = RTE_IPv4(192,168,1,0),
.dst_mask_len = 24,
.src_port_low = 0,
.src_port_high = 0xffff,
@ -164,7 +164,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
{
.data = {.userdata = 3, .category_mask = ACL_DENY_MASK,
.priority = 230},
.dst_addr = IPv4(192,168,1,50),
.dst_addr = RTE_IPv4(192,168,1,50),
.dst_mask_len = 32,
.src_port_low = 0,
.src_port_high = 0xffff,
@ -177,7 +177,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
{
.data = {.userdata = 4, .category_mask = ACL_ALLOW_MASK,
.priority = 240},
.src_addr = IPv4(10,0,0,0),
.src_addr = RTE_IPv4(10,0,0,0),
.src_mask_len = 8,
.src_port_low = 0,
.src_port_high = 0xffff,
@ -188,7 +188,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
{
.data = {.userdata = 5, .category_mask = ACL_ALLOW_MASK,
.priority = 340},
.src_addr = IPv4(10,1,1,0),
.src_addr = RTE_IPv4(10,1,1,0),
.src_mask_len = 24,
.src_port_low = 0,
.src_port_high = 0xffff,
@ -199,7 +199,7 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
{
.data = {.userdata = 6, .category_mask = ACL_DENY_MASK,
.priority = 240},
.src_addr = IPv4(10,1,1,1),
.src_addr = RTE_IPv4(10,1,1,1),
.src_mask_len = 32,
.src_port_low = 0,
.src_port_high = 0xffff,
@ -393,9 +393,9 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
.data = {.userdata = 24, .category_mask = ACL_ALLOW_MASK,
.priority = 400},
/** make sure that unmasked bytes don't fail! */
.dst_addr = IPv4(1,2,3,4),
.dst_addr = RTE_IPv4(1,2,3,4),
.dst_mask_len = 16,
.src_addr = IPv4(5,6,7,8),
.src_addr = RTE_IPv4(5,6,7,8),
.src_mask_len = 24,
.proto = 0x5,
.proto_mask = 0xff,
@ -411,9 +411,9 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
{
.data = {.userdata = 25, .category_mask = ACL_DENY_MASK,
.priority = 400},
.dst_addr = IPv4(5,6,7,8),
.dst_addr = RTE_IPv4(5,6,7,8),
.dst_mask_len = 24,
.src_addr = IPv4(1,2,3,4),
.src_addr = RTE_IPv4(1,2,3,4),
.src_mask_len = 16,
.proto = 0x5,
.proto_mask = 0xff,
@ -429,9 +429,9 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
{
.data = {.userdata = 26, .category_mask = ACL_ALLOW_MASK,
.priority = 500},
.dst_addr = IPv4(1,2,3,4),
.dst_addr = RTE_IPv4(1,2,3,4),
.dst_mask_len = 8,
.src_addr = IPv4(5,6,7,8),
.src_addr = RTE_IPv4(5,6,7,8),
.src_mask_len = 32,
.proto = 0x5,
.proto_mask = 0xff,
@ -445,9 +445,9 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
{
.data = {.userdata = 27, .category_mask = ACL_DENY_MASK,
.priority = 500},
.dst_addr = IPv4(5,6,7,8),
.dst_addr = RTE_IPv4(5,6,7,8),
.dst_mask_len = 32,
.src_addr = IPv4(1,2,3,4),
.src_addr = RTE_IPv4(1,2,3,4),
.src_mask_len = 8,
.proto = 0x5,
.proto_mask = 0xff,
@ -463,20 +463,20 @@ struct rte_acl_ipv4vlan_rule acl_test_rules[] = {
/* data for ACL unit test */
struct ipv4_7tuple acl_test_data[] = {
/* testing single rule aspects */
{.ip_src = IPv4(10,0,0,0), .allow = 4}, /* should match 4 */
{.ip_src = IPv4(10,1,1,2), .allow = 5}, /* should match 5 */
{.ip_src = IPv4(10,1,1,1), .allow = 5,
{.ip_src = RTE_IPv4(10,0,0,0), .allow = 4}, /* should match 4 */
{.ip_src = RTE_IPv4(10,1,1,2), .allow = 5}, /* should match 5 */
{.ip_src = RTE_IPv4(10,1,1,1), .allow = 5,
.deny = 6}, /* should match 5, 6 */
{.ip_dst = IPv4(10,0,0,0)}, /* should not match */
{.ip_dst = IPv4(10,1,1,2)}, /* should not match */
{.ip_dst = IPv4(10,1,1,1)}, /* should not match */
{.ip_dst = RTE_IPv4(10,0,0,0)}, /* should not match */
{.ip_dst = RTE_IPv4(10,1,1,2)}, /* should not match */
{.ip_dst = RTE_IPv4(10,1,1,1)}, /* should not match */
{.ip_src = IPv4(192,168,2,50)}, /* should not match */
{.ip_src = IPv4(192,168,1,2)}, /* should not match */
{.ip_src = IPv4(192,168,1,50)}, /* should not match */
{.ip_dst = IPv4(192,168,2,50), .allow = 1}, /* should match 1 */
{.ip_dst = IPv4(192,168,1,49), .allow = 2}, /* should match 2 */
{.ip_dst = IPv4(192,168,1,50), .allow = 2,
{.ip_src = RTE_IPv4(192,168,2,50)}, /* should not match */
{.ip_src = RTE_IPv4(192,168,1,2)}, /* should not match */
{.ip_src = RTE_IPv4(192,168,1,50)}, /* should not match */
{.ip_dst = RTE_IPv4(192,168,2,50), .allow = 1}, /* should match 1 */
{.ip_dst = RTE_IPv4(192,168,1,49), .allow = 2}, /* should match 2 */
{.ip_dst = RTE_IPv4(192,168,1,50), .allow = 2,
.deny = 3}, /* should match 2, 3 */
{.vlan = 0x64, .allow = 7}, /* should match 7 */
@ -515,20 +515,20 @@ struct ipv4_7tuple acl_test_data[] = {
{.proto = 0x5, .allow = 22, .deny = 23}, /* should match 22, 23 */
/* testing matching multiple rules at once */
{.vlan = 0x5, .ip_src = IPv4(10,1,1,1),
{.vlan = 0x5, .ip_src = RTE_IPv4(10,1,1,1),
.allow = 5, .deny = 9}, /* should match 5, 9 */
{.vlan = 0x5, .ip_src = IPv4(192,168,2,50),
{.vlan = 0x5, .ip_src = RTE_IPv4(192,168,2,50),
.allow = 8, .deny = 9}, /* should match 8, 9 */
{.vlan = 0x55, .ip_src = IPv4(192,168,1,49),
{.vlan = 0x55, .ip_src = RTE_IPv4(192,168,1,49),
.allow = 8}, /* should match 8 */
{.port_dst = 80, .port_src = 1024,
.allow = 13, .deny = 20}, /* should match 13,20 */
{.port_dst = 79, .port_src = 1024,
.allow = 14, .deny = 20}, /* should match 14,20 */
{.proto = 0x5, .ip_dst = IPv4(192,168,2,50),
{.proto = 0x5, .ip_dst = RTE_IPv4(192,168,2,50),
.allow = 1, .deny = 23}, /* should match 1, 23 */
{.proto = 0x5, .ip_dst = IPv4(192,168,1,50),
{.proto = 0x5, .ip_dst = RTE_IPv4(192,168,1,50),
.allow = 2, .deny = 23}, /* should match 2, 23 */
{.vlan = 0x64, .domain = 0x5,
.allow = 11, .deny = 12}, /* should match 11, 12 */
@ -537,16 +537,16 @@ struct ipv4_7tuple acl_test_data[] = {
{.proto = 0x5, .port_dst = 80,
.allow = 13, .deny = 23}, /* should match 13, 23 */
{.proto = 0x51, .port_src = 5000}, /* should not match */
{.ip_src = IPv4(192,168,1,50),
.ip_dst = IPv4(10,0,0,0),
{.ip_src = RTE_IPv4(192,168,1,50),
.ip_dst = RTE_IPv4(10,0,0,0),
.proto = 0x51,
.port_src = 5000,
.port_dst = 5000}, /* should not match */
/* test full packet rules */
{
.ip_dst = IPv4(1,2,100,200),
.ip_src = IPv4(5,6,7,254),
.ip_dst = RTE_IPv4(1,2,100,200),
.ip_src = RTE_IPv4(5,6,7,254),
.proto = 0x5,
.vlan = 0x8100,
.domain = 0x64,
@ -556,8 +556,8 @@ struct ipv4_7tuple acl_test_data[] = {
.deny = 23
}, /* should match 23, 24 */
{
.ip_dst = IPv4(5,6,7,254),
.ip_src = IPv4(1,2,100,200),
.ip_dst = RTE_IPv4(5,6,7,254),
.ip_src = RTE_IPv4(1,2,100,200),
.proto = 0x5,
.vlan = 0x8100,
.domain = 0x64,
@ -567,8 +567,8 @@ struct ipv4_7tuple acl_test_data[] = {
.deny = 25
}, /* should match 13, 25 */
{
.ip_dst = IPv4(1,10,20,30),
.ip_src = IPv4(5,6,7,8),
.ip_dst = RTE_IPv4(1,10,20,30),
.ip_src = RTE_IPv4(5,6,7,8),
.proto = 0x5,
.vlan = 0x64,
.port_src = 12345,
@ -577,8 +577,8 @@ struct ipv4_7tuple acl_test_data[] = {
.deny = 23
}, /* should match 23, 26 */
{
.ip_dst = IPv4(5,6,7,8),
.ip_src = IPv4(1,10,20,30),
.ip_dst = RTE_IPv4(5,6,7,8),
.ip_src = RTE_IPv4(1,10,20,30),
.proto = 0x5,
.vlan = 0x64,
.port_src = 12345,
@ -587,8 +587,8 @@ struct ipv4_7tuple acl_test_data[] = {
.deny = 27
}, /* should match 13, 27 */
{
.ip_dst = IPv4(2,2,3,4),
.ip_src = IPv4(4,6,7,8),
.ip_dst = RTE_IPv4(2,2,3,4),
.ip_src = RTE_IPv4(4,6,7,8),
.proto = 0x5,
.vlan = 0x64,
.port_src = 12345,
@ -597,8 +597,8 @@ struct ipv4_7tuple acl_test_data[] = {
.deny = 23
}, /* should match 13, 23 */
{
.ip_dst = IPv4(1,2,3,4),
.ip_src = IPv4(4,6,7,8),
.ip_dst = RTE_IPv4(1,2,3,4),
.ip_src = RTE_IPv4(4,6,7,8),
.proto = 0x5,
.vlan = 0x64,
.port_src = 12345,
@ -610,8 +610,8 @@ struct ipv4_7tuple acl_test_data[] = {
/* visual separator! */
{
.ip_dst = IPv4(1,2,100,200),
.ip_src = IPv4(5,6,7,254),
.ip_dst = RTE_IPv4(1,2,100,200),
.ip_src = RTE_IPv4(5,6,7,254),
.proto = 0x55,
.vlan = 0x8000,
.domain = 0x6464,
@ -620,8 +620,8 @@ struct ipv4_7tuple acl_test_data[] = {
.allow = 10
}, /* should match 10 */
{
.ip_dst = IPv4(5,6,7,254),
.ip_src = IPv4(1,2,100,200),
.ip_dst = RTE_IPv4(5,6,7,254),
.ip_src = RTE_IPv4(1,2,100,200),
.proto = 0x55,
.vlan = 0x8100,
.domain = 0x6464,
@ -630,8 +630,8 @@ struct ipv4_7tuple acl_test_data[] = {
.allow = 10
}, /* should match 10 */
{
.ip_dst = IPv4(1,10,20,30),
.ip_src = IPv4(5,6,7,8),
.ip_dst = RTE_IPv4(1,10,20,30),
.ip_src = RTE_IPv4(5,6,7,8),
.proto = 0x55,
.vlan = 0x64,
.port_src = 12345,
@ -639,8 +639,8 @@ struct ipv4_7tuple acl_test_data[] = {
.allow = 7
}, /* should match 7 */
{
.ip_dst = IPv4(5,6,7,8),
.ip_src = IPv4(1,10,20,30),
.ip_dst = RTE_IPv4(5,6,7,8),
.ip_src = RTE_IPv4(1,10,20,30),
.proto = 0x55,
.vlan = 0x64,
.port_src = 12345,
@ -648,8 +648,8 @@ struct ipv4_7tuple acl_test_data[] = {
.allow = 7
}, /* should match 7 */
{
.ip_dst = IPv4(2,2,3,4),
.ip_src = IPv4(4,6,7,8),
.ip_dst = RTE_IPv4(2,2,3,4),
.ip_src = RTE_IPv4(4,6,7,8),
.proto = 0x55,
.vlan = 0x64,
.port_src = 12345,
@ -657,8 +657,8 @@ struct ipv4_7tuple acl_test_data[] = {
.allow = 7
}, /* should match 7 */
{
.ip_dst = IPv4(1,2,3,4),
.ip_src = IPv4(4,6,7,8),
.ip_dst = RTE_IPv4(1,2,3,4),
.ip_src = RTE_IPv4(4,6,7,8),
.proto = 0x50,
.vlan = 0x6466,
.port_src = 12345,

View File

@ -58,36 +58,36 @@ static void print_key_info(const char *msg, const struct flow_key *key,
/* Keys used by unit test functions */
static struct flow_key keys[5] = {
{
.ip_src = IPv4(0x03, 0x02, 0x01, 0x00),
.ip_dst = IPv4(0x07, 0x06, 0x05, 0x04),
.ip_src = RTE_IPv4(0x03, 0x02, 0x01, 0x00),
.ip_dst = RTE_IPv4(0x07, 0x06, 0x05, 0x04),
.port_src = 0x0908,
.port_dst = 0x0b0a,
.proto = 0x0c,
},
{
.ip_src = IPv4(0x13, 0x12, 0x11, 0x10),
.ip_dst = IPv4(0x17, 0x16, 0x15, 0x14),
.ip_src = RTE_IPv4(0x13, 0x12, 0x11, 0x10),
.ip_dst = RTE_IPv4(0x17, 0x16, 0x15, 0x14),
.port_src = 0x1918,
.port_dst = 0x1b1a,
.proto = 0x1c,
},
{
.ip_src = IPv4(0x23, 0x22, 0x21, 0x20),
.ip_dst = IPv4(0x27, 0x26, 0x25, 0x24),
.ip_src = RTE_IPv4(0x23, 0x22, 0x21, 0x20),
.ip_dst = RTE_IPv4(0x27, 0x26, 0x25, 0x24),
.port_src = 0x2928,
.port_dst = 0x2b2a,
.proto = 0x2c,
},
{
.ip_src = IPv4(0x33, 0x32, 0x31, 0x30),
.ip_dst = IPv4(0x37, 0x36, 0x35, 0x34),
.ip_src = RTE_IPv4(0x33, 0x32, 0x31, 0x30),
.ip_dst = RTE_IPv4(0x37, 0x36, 0x35, 0x34),
.port_src = 0x3938,
.port_dst = 0x3b3a,
.proto = 0x3c,
},
{
.ip_src = IPv4(0x43, 0x42, 0x41, 0x40),
.ip_dst = IPv4(0x47, 0x46, 0x45, 0x44),
.ip_src = RTE_IPv4(0x43, 0x42, 0x41, 0x40),
.ip_dst = RTE_IPv4(0x47, 0x46, 0x45, 0x44),
.port_src = 0x4948,
.port_dst = 0x4b4a,
.proto = 0x4c,

View File

@ -95,7 +95,8 @@ static struct rte_acl_field_def ipv4_defs[NUM_FIELDS_IPV4] = {
* dst mask 255.255.255.00 / udp src is 32 dst is 33 / end"
*/
static struct rte_flow_item_ipv4 ipv4_udp_spec_1 = {
{ 0, 0, 0, 0, 0, 0, IPPROTO_UDP, 0, IPv4(2, 2, 2, 3), IPv4(2, 2, 2, 7)}
{ 0, 0, 0, 0, 0, 0, IPPROTO_UDP, 0,
RTE_IPv4(2, 2, 2, 3), RTE_IPv4(2, 2, 2, 7)}
};
static const struct rte_flow_item_ipv4 ipv4_mask_24 = {
.hdr = {
@ -131,7 +132,8 @@ static struct rte_flow_item end_item_bad = { -1, 0, 0, 0 };
* dst mask 255.255.255.00 / tcp src is 16 dst is 17 / end"
*/
static struct rte_flow_item_ipv4 ipv4_tcp_spec_1 = {
{ 0, 0, 0, 0, 0, 0, IPPROTO_TCP, 0, IPv4(1, 2, 3, 4), IPv4(5, 6, 7, 8)}
{ 0, 0, 0, 0, 0, 0, IPPROTO_TCP, 0,
RTE_IPv4(1, 2, 3, 4), RTE_IPv4(5, 6, 7, 8)}
};
static struct rte_flow_item_tcp tcp_spec_1 = {
@ -149,8 +151,8 @@ static struct rte_flow_item tcp_item_1 = { RTE_FLOW_ITEM_TYPE_TCP,
* dst mask 255.255.255.00 / sctp src is 16 dst is 17/ end"
*/
static struct rte_flow_item_ipv4 ipv4_sctp_spec_1 = {
{ 0, 0, 0, 0, 0, 0, IPPROTO_SCTP, 0, IPv4(11, 12, 13, 14),
IPv4(15, 16, 17, 18)}
{ 0, 0, 0, 0, 0, 0, IPPROTO_SCTP, 0, RTE_IPv4(11, 12, 13, 14),
RTE_IPv4(15, 16, 17, 18)}
};
static struct rte_flow_item_sctp sctp_spec_1 = {

View File

@ -104,32 +104,32 @@ static void print_key_info(const char *msg, const struct flow_key *key,
/* Keys used by unit test functions */
static struct flow_key keys[5] = { {
.ip_src = IPv4(0x03, 0x02, 0x01, 0x00),
.ip_dst = IPv4(0x07, 0x06, 0x05, 0x04),
.ip_src = RTE_IPv4(0x03, 0x02, 0x01, 0x00),
.ip_dst = RTE_IPv4(0x07, 0x06, 0x05, 0x04),
.port_src = 0x0908,
.port_dst = 0x0b0a,
.proto = 0x0c,
}, {
.ip_src = IPv4(0x13, 0x12, 0x11, 0x10),
.ip_dst = IPv4(0x17, 0x16, 0x15, 0x14),
.ip_src = RTE_IPv4(0x13, 0x12, 0x11, 0x10),
.ip_dst = RTE_IPv4(0x17, 0x16, 0x15, 0x14),
.port_src = 0x1918,
.port_dst = 0x1b1a,
.proto = 0x1c,
}, {
.ip_src = IPv4(0x23, 0x22, 0x21, 0x20),
.ip_dst = IPv4(0x27, 0x26, 0x25, 0x24),
.ip_src = RTE_IPv4(0x23, 0x22, 0x21, 0x20),
.ip_dst = RTE_IPv4(0x27, 0x26, 0x25, 0x24),
.port_src = 0x2928,
.port_dst = 0x2b2a,
.proto = 0x2c,
}, {
.ip_src = IPv4(0x33, 0x32, 0x31, 0x30),
.ip_dst = IPv4(0x37, 0x36, 0x35, 0x34),
.ip_src = RTE_IPv4(0x33, 0x32, 0x31, 0x30),
.ip_dst = RTE_IPv4(0x37, 0x36, 0x35, 0x34),
.port_src = 0x3938,
.port_dst = 0x3b3a,
.proto = 0x3c,
}, {
.ip_src = IPv4(0x43, 0x42, 0x41, 0x40),
.ip_dst = IPv4(0x47, 0x46, 0x45, 0x44),
.ip_src = RTE_IPv4(0x43, 0x42, 0x41, 0x40),
.ip_dst = RTE_IPv4(0x47, 0x46, 0x45, 0x44),
.port_src = 0x4948,
.port_dst = 0x4b4a,
.proto = 0x4c,

View File

@ -533,11 +533,11 @@ const char null_encrypted_data[] =
struct rte_ipv4_hdr ipv4_outer = {
.version_ihl = IPVERSION << 4 |
sizeof(ipv4_outer) / IPV4_IHL_MULTIPLIER,
sizeof(ipv4_outer) / RTE_IPV4_IHL_MULTIPLIER,
.time_to_live = IPDEFTTL,
.next_proto_id = IPPROTO_ESP,
.src_addr = IPv4(192, 168, 1, 100),
.dst_addr = IPv4(192, 168, 2, 100),
.src_addr = RTE_IPv4(192, 168, 1, 100),
.dst_addr = RTE_IPv4(192, 168, 2, 100),
};
static struct rte_mbuf *

View File

@ -729,8 +729,8 @@ generate_packets(struct rte_ether_addr *src_mac,
uint16_t src_port = 10, dst_port = 20;
uint32_t ip_src[4] = { [0 ... 2] = 0xDEADBEEF, [3] = IPv4(192, 168, 0, 1) };
uint32_t ip_dst[4] = { [0 ... 2] = 0xFEEDFACE, [3] = IPv4(192, 168, 0, 2) };
uint32_t ip_src[4] = { [0 ... 2] = 0xDEADBEEF, [3] = RTE_IPv4(192, 168, 0, 1) };
uint32_t ip_dst[4] = { [0 ... 2] = 0xFEEDFACE, [3] = RTE_IPv4(192, 168, 0, 2) };
struct rte_ether_hdr pkt_eth_hdr;
struct udp_hdr pkt_udp_hdr;

View File

@ -165,7 +165,7 @@ test3(void)
config.max_rules = MAX_RULES;
config.number_tbl8s = NUMBER_TBL8S;
config.flags = 0;
uint32_t ip = IPv4(0, 0, 0, 0), next_hop = 100;
uint32_t ip = RTE_IPv4(0, 0, 0, 0), next_hop = 100;
uint8_t depth = 24;
int32_t status = 0;
@ -203,7 +203,7 @@ test4(void)
config.max_rules = MAX_RULES;
config.number_tbl8s = NUMBER_TBL8S;
config.flags = 0;
uint32_t ip = IPv4(0, 0, 0, 0);
uint32_t ip = RTE_IPv4(0, 0, 0, 0);
uint8_t depth = 24;
int32_t status = 0;
@ -242,7 +242,7 @@ test5(void)
config.max_rules = MAX_RULES;
config.number_tbl8s = NUMBER_TBL8S;
config.flags = 0;
uint32_t ip = IPv4(0, 0, 0, 0), next_hop_return = 0;
uint32_t ip = RTE_IPv4(0, 0, 0, 0), next_hop_return = 0;
int32_t status = 0;
/* rte_lpm_lookup: lpm == NULL */
@ -276,7 +276,7 @@ test6(void)
config.max_rules = MAX_RULES;
config.number_tbl8s = NUMBER_TBL8S;
config.flags = 0;
uint32_t ip = IPv4(0, 0, 0, 0), next_hop_add = 100, next_hop_return = 0;
uint32_t ip = RTE_IPv4(0, 0, 0, 0), next_hop_add = 100, next_hop_return = 0;
uint8_t depth = 24;
int32_t status = 0;
@ -315,7 +315,7 @@ test7(void)
config.max_rules = MAX_RULES;
config.number_tbl8s = NUMBER_TBL8S;
config.flags = 0;
uint32_t ip = IPv4(0, 0, 0, 0), next_hop_add = 100, next_hop_return = 0;
uint32_t ip = RTE_IPv4(0, 0, 0, 0), next_hop_add = 100, next_hop_return = 0;
uint8_t depth = 32;
int32_t status = 0;
@ -366,7 +366,7 @@ test8(void)
config.max_rules = MAX_RULES;
config.number_tbl8s = NUMBER_TBL8S;
config.flags = 0;
uint32_t ip1 = IPv4(127, 255, 255, 255), ip2 = IPv4(128, 0, 0, 0);
uint32_t ip1 = RTE_IPv4(127, 255, 255, 255), ip2 = RTE_IPv4(128, 0, 0, 0);
uint32_t next_hop_add, next_hop_return;
uint8_t depth;
int32_t status = 0;
@ -457,7 +457,7 @@ test9(void)
int32_t status = 0;
/* Add & lookup to hit invalid TBL24 entry */
ip = IPv4(128, 0, 0, 0);
ip = RTE_IPv4(128, 0, 0, 0);
depth = 24;
next_hop_add = 100;
@ -479,7 +479,7 @@ test9(void)
rte_lpm_delete_all(lpm);
/* Add & lookup to hit valid TBL24 entry not extended */
ip = IPv4(128, 0, 0, 0);
ip = RTE_IPv4(128, 0, 0, 0);
depth = 23;
next_hop_add = 100;
@ -515,7 +515,7 @@ test9(void)
/* Add & lookup to hit valid extended TBL24 entry with invalid TBL8
* entry */
ip = IPv4(128, 0, 0, 0);
ip = RTE_IPv4(128, 0, 0, 0);
depth = 32;
next_hop_add = 100;
@ -525,7 +525,7 @@ test9(void)
status = rte_lpm_lookup(lpm, ip, &next_hop_return);
TEST_LPM_ASSERT((status == 0) && (next_hop_return == next_hop_add));
ip = IPv4(128, 0, 0, 5);
ip = RTE_IPv4(128, 0, 0, 5);
depth = 32;
next_hop_add = 101;
@ -541,7 +541,7 @@ test9(void)
status = rte_lpm_lookup(lpm, ip, &next_hop_return);
TEST_LPM_ASSERT(status == -ENOENT);
ip = IPv4(128, 0, 0, 0);
ip = RTE_IPv4(128, 0, 0, 0);
depth = 32;
next_hop_add = 100;
@ -558,11 +558,11 @@ test9(void)
/* Add & lookup to hit valid extended TBL24 entry with valid TBL8
* entry */
ip_1 = IPv4(128, 0, 0, 0);
ip_1 = RTE_IPv4(128, 0, 0, 0);
depth_1 = 25;
next_hop_add_1 = 101;
ip_2 = IPv4(128, 0, 0, 5);
ip_2 = RTE_IPv4(128, 0, 0, 5);
depth_2 = 32;
next_hop_add_2 = 102;
@ -629,7 +629,7 @@ test10(void)
lpm = rte_lpm_create(__func__, SOCKET_ID_ANY, &config);
TEST_LPM_ASSERT(lpm != NULL);
ip = IPv4(128, 0, 0, 0);
ip = RTE_IPv4(128, 0, 0, 0);
depth = 16;
next_hop_add = 100;
@ -647,7 +647,7 @@ test10(void)
rte_lpm_delete_all(lpm);
ip = IPv4(128, 0, 0, 0);
ip = RTE_IPv4(128, 0, 0, 0);
depth = 25;
next_hop_add = 100;
@ -665,14 +665,14 @@ test10(void)
/* Add rule that extends a TBL24 valid entry & lookup for both rules
* (& delete & lookup) */
ip = IPv4(128, 0, 0, 0);
ip = RTE_IPv4(128, 0, 0, 0);
depth = 24;
next_hop_add = 100;
status = rte_lpm_add(lpm, ip, depth, next_hop_add);
TEST_LPM_ASSERT(status == 0);
ip = IPv4(128, 0, 0, 10);
ip = RTE_IPv4(128, 0, 0, 10);
depth = 32;
next_hop_add = 101;
@ -682,13 +682,13 @@ test10(void)
status = rte_lpm_lookup(lpm, ip, &next_hop_return);
TEST_LPM_ASSERT((status == 0) && (next_hop_return == next_hop_add));
ip = IPv4(128, 0, 0, 0);
ip = RTE_IPv4(128, 0, 0, 0);
next_hop_add = 100;
status = rte_lpm_lookup(lpm, ip, &next_hop_return);
TEST_LPM_ASSERT((status == 0) && (next_hop_return == next_hop_add));
ip = IPv4(128, 0, 0, 0);
ip = RTE_IPv4(128, 0, 0, 0);
depth = 24;
status = rte_lpm_delete(lpm, ip, depth);
@ -697,7 +697,7 @@ test10(void)
status = rte_lpm_lookup(lpm, ip, &next_hop_return);
TEST_LPM_ASSERT(status == -ENOENT);
ip = IPv4(128, 0, 0, 10);
ip = RTE_IPv4(128, 0, 0, 10);
depth = 32;
status = rte_lpm_delete(lpm, ip, depth);
@ -711,7 +711,7 @@ test10(void)
/* Add rule that updates the next hop in TBL24 & lookup
* (& delete & lookup) */
ip = IPv4(128, 0, 0, 0);
ip = RTE_IPv4(128, 0, 0, 0);
depth = 24;
next_hop_add = 100;
@ -740,7 +740,7 @@ test10(void)
/* Add rule that updates the next hop in TBL8 & lookup
* (& delete & lookup) */
ip = IPv4(128, 0, 0, 0);
ip = RTE_IPv4(128, 0, 0, 0);
depth = 32;
next_hop_add = 100;
@ -768,7 +768,7 @@ test10(void)
/* Delete a rule that is not present in the TBL24 & lookup */
ip = IPv4(128, 0, 0, 0);
ip = RTE_IPv4(128, 0, 0, 0);
depth = 24;
status = rte_lpm_delete(lpm, ip, depth);
@ -781,7 +781,7 @@ test10(void)
/* Delete a rule that is not present in the TBL8 & lookup */
ip = IPv4(128, 0, 0, 0);
ip = RTE_IPv4(128, 0, 0, 0);
depth = 32;
status = rte_lpm_delete(lpm, ip, depth);
@ -818,14 +818,14 @@ test11(void)
lpm = rte_lpm_create(__func__, SOCKET_ID_ANY, &config);
TEST_LPM_ASSERT(lpm != NULL);
ip = IPv4(128, 0, 0, 0);
ip = RTE_IPv4(128, 0, 0, 0);
depth = 24;
next_hop_add = 100;
status = rte_lpm_add(lpm, ip, depth, next_hop_add);
TEST_LPM_ASSERT(status == 0);
ip = IPv4(128, 0, 0, 10);
ip = RTE_IPv4(128, 0, 0, 10);
depth = 32;
next_hop_add = 101;
@ -835,13 +835,13 @@ test11(void)
status = rte_lpm_lookup(lpm, ip, &next_hop_return);
TEST_LPM_ASSERT((status == 0) && (next_hop_return == next_hop_add));
ip = IPv4(128, 0, 0, 0);
ip = RTE_IPv4(128, 0, 0, 0);
next_hop_add = 100;
status = rte_lpm_lookup(lpm, ip, &next_hop_return);
TEST_LPM_ASSERT((status == 0) && (next_hop_return == next_hop_add));
ip = IPv4(128, 0, 0, 0);
ip = RTE_IPv4(128, 0, 0, 0);
depth = 24;
status = rte_lpm_delete(lpm, ip, depth);
@ -850,7 +850,7 @@ test11(void)
status = rte_lpm_lookup(lpm, ip, &next_hop_return);
TEST_LPM_ASSERT(status == -ENOENT);
ip = IPv4(128, 0, 0, 10);
ip = RTE_IPv4(128, 0, 0, 10);
depth = 32;
status = rte_lpm_delete(lpm, ip, depth);
@ -889,7 +889,7 @@ test12(void)
lpm = rte_lpm_create(__func__, SOCKET_ID_ANY, &config);
TEST_LPM_ASSERT(lpm != NULL);
ip = IPv4(128, 0, 0, 0);
ip = RTE_IPv4(128, 0, 0, 0);
depth = 32;
next_hop_add = 100;
@ -944,7 +944,7 @@ test13(void)
lpm = rte_lpm_create(__func__, SOCKET_ID_ANY, &config);
TEST_LPM_ASSERT(lpm != NULL);
ip = IPv4(128, 0, 0, 0);
ip = RTE_IPv4(128, 0, 0, 0);
depth = 24;
next_hop_add_1 = 100;
@ -1014,10 +1014,10 @@ test14(void)
depth = 32;
next_hop_add = 100;
ip = IPv4(0, 0, 0, 0);
ip = RTE_IPv4(0, 0, 0, 0);
/* Add 256 rules that require a tbl8 extension */
for (; ip <= IPv4(0, 0, 255, 0); ip += 256) {
for (; ip <= RTE_IPv4(0, 0, 255, 0); ip += 256) {
status = rte_lpm_add(lpm, ip, depth, next_hop_add);
TEST_LPM_ASSERT(status == 0);
@ -1028,7 +1028,7 @@ test14(void)
/* All tbl8 extensions have been used above. Try to add one more and
* we get a fail */
ip = IPv4(1, 0, 0, 0);
ip = RTE_IPv4(1, 0, 0, 0);
depth = 32;
status = rte_lpm_add(lpm, ip, depth, next_hop_add);
@ -1125,9 +1125,9 @@ test17(void)
config.max_rules = MAX_RULES;
config.number_tbl8s = NUMBER_TBL8S;
config.flags = 0;
const uint32_t ip_10_32 = IPv4(10, 10, 10, 2);
const uint32_t ip_10_24 = IPv4(10, 10, 10, 0);
const uint32_t ip_20_25 = IPv4(10, 10, 20, 2);
const uint32_t ip_10_32 = RTE_IPv4(10, 10, 10, 2);
const uint32_t ip_10_24 = RTE_IPv4(10, 10, 10, 0);
const uint32_t ip_20_25 = RTE_IPv4(10, 10, 20, 2);
const uint8_t d_ip_10_32 = 32,
d_ip_10_24 = 24,
d_ip_20_25 = 25;
@ -1221,7 +1221,7 @@ test18(void)
lpm = rte_lpm_create(__func__, SOCKET_ID_ANY, &config);
TEST_LPM_ASSERT(lpm != NULL);
ip = IPv4(192, 168, 100, 100);
ip = RTE_IPv4(192, 168, 100, 100);
depth = 28;
next_hop = 1;
rte_lpm_add(lpm, ip, depth, next_hop);

View File

@ -285,11 +285,11 @@ static void generate_large_route_rule_table(void)
* they are 4 rules with private local IP address and 1 all-zeros prefix
* with depth = 8.
*/
insert_rule_in_random_pos(IPv4(0, 0, 0, 0), 8);
insert_rule_in_random_pos(IPv4(10, 2, 23, 147), 32);
insert_rule_in_random_pos(IPv4(192, 168, 100, 10), 24);
insert_rule_in_random_pos(IPv4(192, 168, 25, 100), 24);
insert_rule_in_random_pos(IPv4(192, 168, 129, 124), 32);
insert_rule_in_random_pos(RTE_IPv4(0, 0, 0, 0), 8);
insert_rule_in_random_pos(RTE_IPv4(10, 2, 23, 147), 32);
insert_rule_in_random_pos(RTE_IPv4(192, 168, 100, 10), 24);
insert_rule_in_random_pos(RTE_IPv4(192, 168, 25, 100), 24);
insert_rule_in_random_pos(RTE_IPv4(192, 168, 129, 124), 32);
}
static void

View File

@ -41,36 +41,36 @@ struct flow_key {
/* Keys used by unit test functions */
static struct flow_key keys[NUM_SAMPLES] = {
{
.ip_src = IPv4(0x03, 0x02, 0x01, 0x00),
.ip_dst = IPv4(0x07, 0x06, 0x05, 0x04),
.ip_src = RTE_IPv4(0x03, 0x02, 0x01, 0x00),
.ip_dst = RTE_IPv4(0x07, 0x06, 0x05, 0x04),
.port_src = 0x0908,
.port_dst = 0x0b0a,
.proto = 0x0c,
},
{
.ip_src = IPv4(0x13, 0x12, 0x11, 0x10),
.ip_dst = IPv4(0x17, 0x16, 0x15, 0x14),
.ip_src = RTE_IPv4(0x13, 0x12, 0x11, 0x10),
.ip_dst = RTE_IPv4(0x17, 0x16, 0x15, 0x14),
.port_src = 0x1918,
.port_dst = 0x1b1a,
.proto = 0x1c,
},
{
.ip_src = IPv4(0x23, 0x22, 0x21, 0x20),
.ip_dst = IPv4(0x27, 0x26, 0x25, 0x24),
.ip_src = RTE_IPv4(0x23, 0x22, 0x21, 0x20),
.ip_dst = RTE_IPv4(0x27, 0x26, 0x25, 0x24),
.port_src = 0x2928,
.port_dst = 0x2b2a,
.proto = 0x2c,
},
{
.ip_src = IPv4(0x33, 0x32, 0x31, 0x30),
.ip_dst = IPv4(0x37, 0x36, 0x35, 0x34),
.ip_src = RTE_IPv4(0x33, 0x32, 0x31, 0x30),
.ip_dst = RTE_IPv4(0x37, 0x36, 0x35, 0x34),
.port_src = 0x3938,
.port_dst = 0x3b3a,
.proto = 0x3c,
},
{
.ip_src = IPv4(0x43, 0x42, 0x41, 0x40),
.ip_dst = IPv4(0x47, 0x46, 0x45, 0x44),
.ip_src = RTE_IPv4(0x43, 0x42, 0x41, 0x40),
.ip_dst = RTE_IPv4(0x47, 0x46, 0x45, 0x44),
.port_src = 0x4948,
.port_dst = 0x4b4a,
.proto = 0x4c,

View File

@ -96,7 +96,7 @@ prepare_pkt(struct rte_sched_port *port, struct rte_mbuf *mbuf)
vlan1->vlan_tci = rte_cpu_to_be_16(SUBPORT);
vlan2->vlan_tci = rte_cpu_to_be_16(PIPE);
eth_hdr->ether_type = rte_cpu_to_be_16(RTE_ETHER_TYPE_IPv4);
ip_hdr->dst_addr = IPv4(0,0,TC,QUEUE);
ip_hdr->dst_addr = RTE_IPv4(0,0,TC,QUEUE);
rte_sched_port_pkt_write(port, mbuf, SUBPORT, PIPE, TC, QUEUE,

View File

@ -7,7 +7,7 @@
#include "test_table.h"
#include "test_table_acl.h"
#define IPv4(a, b, c, d) ((uint32_t)(((a) & 0xff) << 24) | \
#define RTE_IPv4(a, b, c, d) ((uint32_t)(((a) & 0xff) << 24) | \
(((b) & 0xff) << 16) | \
(((c) & 0xff) << 8) | \
((d) & 0xff))
@ -116,7 +116,7 @@ parse_ipv4_net(const char *in, uint32_t *addr, uint32_t *mask_len)
GET_CB_FIELD(in, d, 0, UINT8_MAX, '/');
GET_CB_FIELD(in, m, 0, sizeof(uint32_t) * CHAR_BIT, 0);
addr[0] = IPv4(a, b, c, d);
addr[0] = RTE_IPv4(a, b, c, d);
mask_len[0] = m;
return 0;
@ -662,8 +662,8 @@ test_pipeline_single_filter(int expected_count)
sizeof(struct ipv4_5tuple));
five_tuple.proto = j;
five_tuple.ip_src = rte_bswap32(IPv4(192, 168, j, 1));
five_tuple.ip_dst = rte_bswap32(IPv4(10, 4, j, 1));
five_tuple.ip_src = rte_bswap32(RTE_IPv4(192, 168, j, 1));
five_tuple.ip_dst = rte_bswap32(RTE_IPv4(10, 4, j, 1));
five_tuple.port_src = rte_bswap16(100 + j);
five_tuple.port_dst = rte_bswap16(200 + j);

View File

@ -59,15 +59,15 @@ struct test_thash_v6 {
/*From 82599 Datasheet 7.1.2.8.3 RSS Verification Suite*/
struct test_thash_v4 v4_tbl[] = {
{IPv4(161, 142, 100, 80), IPv4(66, 9, 149, 187),
{RTE_IPv4(161, 142, 100, 80), RTE_IPv4(66, 9, 149, 187),
1766, 2794, 0x323e8fc2, 0x51ccc178},
{IPv4(65, 69, 140, 83), IPv4(199, 92, 111, 2),
{RTE_IPv4(65, 69, 140, 83), RTE_IPv4(199, 92, 111, 2),
4739, 14230, 0xd718262a, 0xc626b0ea},
{IPv4(12, 22, 207, 184), IPv4(24, 19, 198, 95),
{RTE_IPv4(12, 22, 207, 184), RTE_IPv4(24, 19, 198, 95),
38024, 12898, 0xd2d0a5de, 0x5c2b394a},
{IPv4(209, 142, 163, 6), IPv4(38, 27, 205, 30),
{RTE_IPv4(209, 142, 163, 6), RTE_IPv4(38, 27, 205, 30),
2217, 48228, 0x82989176, 0xafc7327f},
{IPv4(202, 188, 127, 2), IPv4(153, 39, 163, 191),
{RTE_IPv4(202, 188, 127, 2), RTE_IPv4(153, 39, 163, 191),
1303, 44251, 0x5d1809c5, 0x10e828a2},
};

View File

@ -419,7 +419,7 @@ Classify with Multiple Categories
.data = {.userdata = 1, .category_mask = 3, .priority = 1},
/* destination IPv4 */
.field[2] = {.value.u32 = IPv4(192,168,0,0),. mask_range.u32 = 16,},
.field[2] = {.value.u32 = RTE_IPv4(192,168,0,0),. mask_range.u32 = 16,},
/* source port */
.field[3] = {.value.u16 = 0, .mask_range.u16 = 0xffff,},
@ -433,7 +433,7 @@ Classify with Multiple Categories
.data = {.userdata = 2, .category_mask = 1, .priority = 2},
/* destination IPv4 */
.field[2] = {.value.u32 = IPv4(192,168,1,0),. mask_range.u32 = 24,},
.field[2] = {.value.u32 = RTE_IPv4(192,168,1,0),. mask_range.u32 = 24,},
/* source port */
.field[3] = {.value.u16 = 0, .mask_range.u16 = 0xffff,},
@ -447,7 +447,7 @@ Classify with Multiple Categories
.data = {.userdata = 3, .category_mask = 2, .priority = 3},
/* source IPv4 */
.field[1] = {.value.u32 = IPv4(10,1,1,1),. mask_range.u32 = 32,},
.field[1] = {.value.u32 = RTE_IPv4(10,1,1,1),. mask_range.u32 = 32,},
/* source port */
.field[3] = {.value.u16 = 0, .mask_range.u16 = 0xffff,},

View File

@ -104,14 +104,14 @@ The default l3fwd_ipv4_route_array table is:
.. code-block:: c
struct l3fwd_ipv4_route l3fwd_ipv4_route_array[] = {
{IPv4(100, 10, 0, 0), 16, 0},
{IPv4(100, 20, 0, 0), 16, 1},
{IPv4(100, 30, 0, 0), 16, 2},
{IPv4(100, 40, 0, 0), 16, 3},
{IPv4(100, 50, 0, 0), 16, 4},
{IPv4(100, 60, 0, 0), 16, 5},
{IPv4(100, 70, 0, 0), 16, 6},
{IPv4(100, 80, 0, 0), 16, 7},
{RTE_IPv4(100, 10, 0, 0), 16, 0},
{RTE_IPv4(100, 20, 0, 0), 16, 1},
{RTE_IPv4(100, 30, 0, 0), 16, 2},
{RTE_IPv4(100, 40, 0, 0), 16, 3},
{RTE_IPv4(100, 50, 0, 0), 16, 4},
{RTE_IPv4(100, 60, 0, 0), 16, 5},
{RTE_IPv4(100, 70, 0, 0), 16, 6},
{RTE_IPv4(100, 80, 0, 0), 16, 7},
};
The default l3fwd_ipv6_route_array table is:

View File

@ -107,14 +107,14 @@ The default l3fwd_ipv4_route_array table is:
.. code-block:: c
struct l3fwd_ipv4_route l3fwd_ipv4_route_array[] = {
{IPv4(100, 10, 0, 0), 16, 0},
{IPv4(100, 20, 0, 0), 16, 1},
{IPv4(100, 30, 0, 0), 16, 2},
{IPv4(100, 40, 0, 0), 16, 3},
{IPv4(100, 50, 0, 0), 16, 4},
{IPv4(100, 60, 0, 0), 16, 5},
{IPv4(100, 70, 0, 0), 16, 6},
{IPv4(100, 80, 0, 0), 16, 7},
{RTE_IPv4(100, 10, 0, 0), 16, 0},
{RTE_IPv4(100, 20, 0, 0), 16, 1},
{RTE_IPv4(100, 30, 0, 0), 16, 2},
{RTE_IPv4(100, 40, 0, 0), 16, 3},
{RTE_IPv4(100, 50, 0, 0), 16, 4},
{RTE_IPv4(100, 60, 0, 0), 16, 5},
{RTE_IPv4(100, 70, 0, 0), 16, 6},
{RTE_IPv4(100, 80, 0, 0), 16, 7},
};
The default l3fwd_ipv6_route_array table is:

View File

@ -155,7 +155,7 @@ if the routing table has any ports assigned to the destination address:
.. code-block:: c
if (!IS_IPV4_MCAST(dest_addr) ||
if (!RTE_IS_IPV4_MCAST(dest_addr) ||
(hash = rte_fbk_hash_lookup(mcast_hash, dest_addr)) <= 0 ||
(port_mask = hash & enabled_port_mask) == 0) {
rte_pktmbuf_free(m);

View File

@ -862,8 +862,8 @@ burst_xmit_l34_hash(struct rte_mbuf **buf, uint16_t nb_pkts,
if (likely(rte_ipv4_frag_pkt_is_fragmented(ipv4_hdr)
== 0)) {
ip_hdr_offset = (ipv4_hdr->version_ihl
& IPV4_HDR_IHL_MASK) *
IPV4_IHL_MULTIPLIER;
& RTE_IPV4_HDR_IHL_MASK) *
RTE_IPV4_IHL_MULTIPLIER;
if (ipv4_hdr->next_proto_id == IPPROTO_TCP) {
tcp_hdr = (struct tcp_hdr *)

View File

@ -2158,7 +2158,7 @@ eth_ena_prep_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
m->l2_len);
frag_field = rte_be_to_cpu_16(ip_hdr->fragment_offset);
if ((frag_field & IPV4_HDR_DF_FLAG) != 0) {
if ((frag_field & RTE_IPV4_HDR_DF_FLAG) != 0) {
m->packet_type |= RTE_PTYPE_L4_NONFRAG;
/* If IPv4 header has DF flag enabled and TSO support is

View File

@ -2606,8 +2606,8 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
/* Check if it is fragment. */
frag_off = ipv4_spec->hdr.fragment_offset;
frag_off = rte_be_to_cpu_16(frag_off);
if (frag_off & IPV4_HDR_OFFSET_MASK ||
frag_off & IPV4_HDR_MF_FLAG)
if (frag_off & RTE_IPV4_HDR_OFFSET_MASK ||
frag_off & RTE_IPV4_HDR_MF_FLAG)
pctype = I40E_FILTER_PCTYPE_FRAG_IPV4;
/* Get the filter info */

View File

@ -4553,7 +4553,7 @@ ixgbe_get_rscctl_maxdesc(struct rte_mempool *pool)
/* MAXDESC * SRRCTL.BSIZEPKT must not exceed 64 KB minus one */
uint16_t maxdesc =
IPV4_MAX_PKT_LEN /
RTE_IPV4_MAX_PKT_LEN /
(mp_priv->mbuf_data_room_size - RTE_PKTMBUF_HEADROOM);
if (maxdesc >= 16)

View File

@ -552,7 +552,7 @@ static const struct {
},
.ipv6.hdr = {
.proto = 0xff,
.vtc_flow = RTE_BE32(0xfful << IPV6_HDR_FL_SHIFT),
.vtc_flow = RTE_BE32(0xfful << RTE_IPV6_HDR_FL_SHIFT),
.hop_limits = 0xff,
.src_addr =
"\xff\xff\xff\xff\xff\xff\xff\xff"
@ -1426,7 +1426,7 @@ flow_tcf_validate_vxlan_encap_ipv6(const struct rte_flow_item *item,
" vxlan encapsulation");
}
msk6 = (rte_be_to_cpu_32(mask->hdr.vtc_flow) >>
IPV6_HDR_TC_SHIFT) & 0xff;
RTE_IPV6_HDR_TC_SHIFT) & 0xff;
if (msk6 && msk6 != 0xff)
return rte_flow_error_set(error, ENOTSUP,
RTE_FLOW_ERROR_TYPE_ITEM_MASK, mask,
@ -2551,7 +2551,7 @@ flow_tcf_get_items_size(const struct rte_flow_attr *attr,
if (ipv6 && ipv6->hdr.hop_limits)
size += SZ_NLATTR_TYPE_OF(uint8_t) * 2;
if (ipv6 && (rte_be_to_cpu_32(ipv6->hdr.vtc_flow) &
(0xfful << IPV6_HDR_TC_SHIFT)))
(0xfful << RTE_IPV6_HDR_TC_SHIFT)))
size += SZ_NLATTR_TYPE_OF(uint8_t) * 2;
break;
}
@ -2639,7 +2639,7 @@ flow_tcf_vxlan_encap_size(const struct rte_flow_action *action)
if (ipv6 && ipv6->hdr.hop_limits)
size += SZ_NLATTR_TYPE_OF(uint8_t) * 2;
if (ipv6 && (rte_be_to_cpu_32(ipv6->hdr.vtc_flow) &
(0xfful << IPV6_HDR_TC_SHIFT)))
(0xfful << RTE_IPV6_HDR_TC_SHIFT)))
size += SZ_NLATTR_TYPE_OF(uint8_t) * 2;
break;
}
@ -3037,11 +3037,11 @@ flow_tcf_parse_vxlan_encap_ipv6(const struct rte_flow_item_ipv6 *spec,
FLOW_TCF_ENCAP_IPV6_DST;
if (mask) {
if ((rte_be_to_cpu_32(mask->hdr.vtc_flow) >>
IPV6_HDR_TC_SHIFT) & 0xff) {
RTE_IPV6_HDR_TC_SHIFT) & 0xff) {
encap->mask |= FLOW_TCF_ENCAP_IP_TOS;
encap->ip_tos = (rte_be_to_cpu_32
(spec->hdr.vtc_flow) >>
IPV6_HDR_TC_SHIFT) & 0xff;
RTE_IPV6_HDR_TC_SHIFT) & 0xff;
}
if (mask->hdr.hop_limits) {
encap->mask |= FLOW_TCF_ENCAP_IP_TTL;
@ -3590,11 +3590,11 @@ flow_tcf_translate(struct rte_eth_dev *dev, struct mlx5_flow *dev_flow,
mask.ipv6->hdr.hop_limits);
}
msk6 = (rte_be_to_cpu_32(mask.ipv6->hdr.vtc_flow) >>
IPV6_HDR_TC_SHIFT) & 0xff;
RTE_IPV6_HDR_TC_SHIFT) & 0xff;
if (msk6) {
tos6 = (rte_be_to_cpu_32
(spec.ipv6->hdr.vtc_flow) >>
IPV6_HDR_TC_SHIFT) & 0xff;
RTE_IPV6_HDR_TC_SHIFT) & 0xff;
mnl_attr_put_u8
(nlh, tunnel_outer ?
TCA_FLOWER_KEY_ENC_IP_TOS :

View File

@ -480,17 +480,17 @@ flow_verbs_translate_item_ipv6(struct mlx5_flow *dev_flow,
vtc_flow_val = rte_be_to_cpu_32(spec->hdr.vtc_flow);
vtc_flow_mask = rte_be_to_cpu_32(mask->hdr.vtc_flow);
ipv6.val.flow_label =
rte_cpu_to_be_32((vtc_flow_val & IPV6_HDR_FL_MASK) >>
IPV6_HDR_FL_SHIFT);
ipv6.val.traffic_class = (vtc_flow_val & IPV6_HDR_TC_MASK) >>
IPV6_HDR_TC_SHIFT;
rte_cpu_to_be_32((vtc_flow_val & RTE_IPV6_HDR_FL_MASK) >>
RTE_IPV6_HDR_FL_SHIFT);
ipv6.val.traffic_class = (vtc_flow_val & RTE_IPV6_HDR_TC_MASK) >>
RTE_IPV6_HDR_TC_SHIFT;
ipv6.val.next_hdr = spec->hdr.proto;
ipv6.val.hop_limit = spec->hdr.hop_limits;
ipv6.mask.flow_label =
rte_cpu_to_be_32((vtc_flow_mask & IPV6_HDR_FL_MASK) >>
IPV6_HDR_FL_SHIFT);
ipv6.mask.traffic_class = (vtc_flow_mask & IPV6_HDR_TC_MASK) >>
IPV6_HDR_TC_SHIFT;
rte_cpu_to_be_32((vtc_flow_mask & RTE_IPV6_HDR_FL_MASK) >>
RTE_IPV6_HDR_FL_SHIFT);
ipv6.mask.traffic_class = (vtc_flow_mask & RTE_IPV6_HDR_TC_MASK) >>
RTE_IPV6_HDR_TC_SHIFT;
ipv6.mask.next_hdr = mask->hdr.proto;
ipv6.mask.hop_limit = mask->hdr.hop_limits;
/* Remove unwanted bits from values. */

View File

@ -19,7 +19,7 @@
#include "tap_rss.h"
/** Create IPv4 address */
#define IPv4(a, b, c, d) ((__u32)(((a) & 0xff) << 24) | \
#define RTE_IPv4(a, b, c, d) ((__u32)(((a) & 0xff) << 24) | \
(((b) & 0xff) << 16) | \
(((c) & 0xff) << 8) | \
((d) & 0xff))
@ -157,11 +157,11 @@ rss_l3_l4(struct __sk_buff *skb)
__u8 *src_dst_addr = data + off + offsetof(struct iphdr, saddr);
__u8 *src_dst_port = data + off + sizeof(struct iphdr);
struct ipv4_l3_l4_tuple v4_tuple = {
.src_addr = IPv4(*(src_dst_addr + 0),
.src_addr = RTE_IPv4(*(src_dst_addr + 0),
*(src_dst_addr + 1),
*(src_dst_addr + 2),
*(src_dst_addr + 3)),
.dst_addr = IPv4(*(src_dst_addr + 4),
.dst_addr = RTE_IPv4(*(src_dst_addr + 4),
*(src_dst_addr + 5),
*(src_dst_addr + 6),
*(src_dst_addr + 7)),

View File

@ -684,8 +684,8 @@ vmxnet3_guess_mss(struct vmxnet3_hw *hw, const Vmxnet3_RxCompDesc *rcd,
- sizeof(struct tcp_hdr);
ipv4_hdr = (struct rte_ipv4_hdr *)(ptr + hlen);
hlen += (ipv4_hdr->version_ihl & IPV4_HDR_IHL_MASK) *
IPV4_IHL_MULTIPLIER;
hlen += (ipv4_hdr->version_ihl & RTE_IPV4_HDR_IHL_MASK) *
RTE_IPV4_IHL_MULTIPLIER;
} else if (rcd->v6) {
if (unlikely(slen < hlen + sizeof(struct rte_ipv6_hdr)))
return hw->mtu - sizeof(struct rte_ipv6_hdr) -

View File

@ -379,7 +379,7 @@ parse_ipv4_net(char *in, uint32_t *addr, uint32_t *mask_len)
if (get_cb_field(&in, &m, 0, sizeof(uint32_t) * CHAR_BIT, 0))
return -EINVAL;
addr[0] = IPv4(a, b, c, d);
addr[0] = RTE_IPv4(a, b, c, d);
mask_len[0] = m;
return 0;
}

View File

@ -169,14 +169,14 @@ struct l3fwd_ipv4_route {
};
struct l3fwd_ipv4_route l3fwd_ipv4_route_array[] = {
{IPv4(100,10,0,0), 16, 0},
{IPv4(100,20,0,0), 16, 1},
{IPv4(100,30,0,0), 16, 2},
{IPv4(100,40,0,0), 16, 3},
{IPv4(100,50,0,0), 16, 4},
{IPv4(100,60,0,0), 16, 5},
{IPv4(100,70,0,0), 16, 6},
{IPv4(100,80,0,0), 16, 7},
{RTE_IPv4(100,10,0,0), 16, 0},
{RTE_IPv4(100,20,0,0), 16, 1},
{RTE_IPv4(100,30,0,0), 16, 2},
{RTE_IPv4(100,40,0,0), 16, 3},
{RTE_IPv4(100,50,0,0), 16, 4},
{RTE_IPv4(100,60,0,0), 16, 5},
{RTE_IPv4(100,70,0,0), 16, 6},
{RTE_IPv4(100,80,0,0), 16, 7},
};
/*

View File

@ -190,14 +190,14 @@ struct l3fwd_ipv4_route {
};
struct l3fwd_ipv4_route l3fwd_ipv4_route_array[] = {
{IPv4(100,10,0,0), 16, 0},
{IPv4(100,20,0,0), 16, 1},
{IPv4(100,30,0,0), 16, 2},
{IPv4(100,40,0,0), 16, 3},
{IPv4(100,50,0,0), 16, 4},
{IPv4(100,60,0,0), 16, 5},
{IPv4(100,70,0,0), 16, 6},
{IPv4(100,80,0,0), 16, 7},
{RTE_IPv4(100,10,0,0), 16, 0},
{RTE_IPv4(100,20,0,0), 16, 1},
{RTE_IPv4(100,30,0,0), 16, 2},
{RTE_IPv4(100,40,0,0), 16, 3},
{RTE_IPv4(100,50,0,0), 16, 4},
{RTE_IPv4(100,60,0,0), 16, 5},
{RTE_IPv4(100,70,0,0), 16, 6},
{RTE_IPv4(100,80,0,0), 16, 7},
};
/*

View File

@ -951,7 +951,7 @@ get_spi_proto(uint32_t spi, enum rte_security_ipsec_sa_direction dir)
if (rc6 >= 0) {
RTE_LOG(ERR, IPSEC,
"%s: SPI %u used simultaeously by "
"IPv4(%d) and IPv6 (%d) SP rules\n",
"RTE_IPv4(%d) and IPv6 (%d) SP rules\n",
__func__, spi, rc4, rc6);
return -EINVAL;
} else
@ -1040,7 +1040,7 @@ ipsec_sa_init(struct ipsec_sa *lsa, struct rte_ipsec_sa *sa, uint32_t sa_size)
struct rte_ipsec_sa_prm prm;
struct rte_ipv4_hdr v4 = {
.version_ihl = IPVERSION << 4 |
sizeof(v4) / IPV4_IHL_MULTIPLIER,
sizeof(v4) / RTE_IPV4_IHL_MULTIPLIER,
.time_to_live = IPDEFTTL,
.next_proto_id = IPPROTO_ESP,
.src_addr = lsa->src.ip.ip4,

View File

@ -138,21 +138,21 @@ struct mcast_group_params {
};
static struct mcast_group_params mcast_group_table[] = {
{IPv4(224,0,0,101), 0x1},
{IPv4(224,0,0,102), 0x2},
{IPv4(224,0,0,103), 0x3},
{IPv4(224,0,0,104), 0x4},
{IPv4(224,0,0,105), 0x5},
{IPv4(224,0,0,106), 0x6},
{IPv4(224,0,0,107), 0x7},
{IPv4(224,0,0,108), 0x8},
{IPv4(224,0,0,109), 0x9},
{IPv4(224,0,0,110), 0xA},
{IPv4(224,0,0,111), 0xB},
{IPv4(224,0,0,112), 0xC},
{IPv4(224,0,0,113), 0xD},
{IPv4(224,0,0,114), 0xE},
{IPv4(224,0,0,115), 0xF},
{RTE_IPv4(224,0,0,101), 0x1},
{RTE_IPv4(224,0,0,102), 0x2},
{RTE_IPv4(224,0,0,103), 0x3},
{RTE_IPv4(224,0,0,104), 0x4},
{RTE_IPv4(224,0,0,105), 0x5},
{RTE_IPv4(224,0,0,106), 0x6},
{RTE_IPv4(224,0,0,107), 0x7},
{RTE_IPv4(224,0,0,108), 0x8},
{RTE_IPv4(224,0,0,109), 0x9},
{RTE_IPv4(224,0,0,110), 0xA},
{RTE_IPv4(224,0,0,111), 0xB},
{RTE_IPv4(224,0,0,112), 0xC},
{RTE_IPv4(224,0,0,113), 0xD},
{RTE_IPv4(224,0,0,114), 0xE},
{RTE_IPv4(224,0,0,115), 0xF},
};
#define N_MCAST_GROUPS \
@ -317,7 +317,7 @@ mcast_forward(struct rte_mbuf *m, struct lcore_queue_conf *qconf)
* Check that it is a valid multicast address and
* we have some active ports assigned to it.
*/
if(!IS_IPV4_MCAST(dest_addr) ||
if (!RTE_IS_IPV4_MCAST(dest_addr) ||
(hash = rte_fbk_hash_lookup(mcast_hash, dest_addr)) <= 0 ||
(port_mask = hash & enabled_port_mask) == 0) {
rte_pktmbuf_free(m);

View File

@ -404,8 +404,8 @@ l2fwd_simple_crypto_enqueue(struct rte_mbuf *m,
ip_hdr = (struct rte_ipv4_hdr *)(rte_pktmbuf_mtod(m, char *) +
ipdata_offset);
ipdata_offset += (ip_hdr->version_ihl & IPV4_HDR_IHL_MASK)
* IPV4_IHL_MULTIPLIER;
ipdata_offset += (ip_hdr->version_ihl & RTE_IPV4_HDR_IHL_MASK)
* RTE_IPV4_IHL_MULTIPLIER;
/* Zero pad data to be crypto'd so it is block aligned */

View File

@ -901,7 +901,7 @@ parse_ipv4_net(const char *in, uint32_t *addr, uint32_t *mask_len)
GET_CB_FIELD(in, d, 0, UINT8_MAX, '/');
GET_CB_FIELD(in, m, 0, sizeof(uint32_t) * CHAR_BIT, 0);
addr[0] = IPv4(a, b, c, d);
addr[0] = RTE_IPv4(a, b, c, d);
mask_len[0] = m;
return 0;

View File

@ -258,10 +258,10 @@ struct ipv6_l3fwd_route {
};
static struct ipv4_l3fwd_route ipv4_l3fwd_route_array[] = {
{{IPv4(100,10,0,1), IPv4(200,10,0,1), 101, 11, IPPROTO_TCP}, 0},
{{IPv4(100,20,0,2), IPv4(200,20,0,2), 102, 12, IPPROTO_TCP}, 1},
{{IPv4(100,30,0,3), IPv4(200,30,0,3), 103, 13, IPPROTO_TCP}, 2},
{{IPv4(100,40,0,4), IPv4(200,40,0,4), 104, 14, IPPROTO_TCP}, 3},
{{RTE_IPv4(100,10,0,1), RTE_IPv4(200,10,0,1), 101, 11, IPPROTO_TCP}, 0},
{{RTE_IPv4(100,20,0,2), RTE_IPv4(200,20,0,2), 102, 12, IPPROTO_TCP}, 1},
{{RTE_IPv4(100,30,0,3), RTE_IPv4(200,30,0,3), 103, 13, IPPROTO_TCP}, 2},
{{RTE_IPv4(100,40,0,4), RTE_IPv4(200,40,0,4), 104, 14, IPPROTO_TCP}, 3},
};
static struct ipv6_l3fwd_route ipv6_l3fwd_route_array[] = {
@ -300,14 +300,14 @@ struct ipv4_l3fwd_route {
};
static struct ipv4_l3fwd_route ipv4_l3fwd_route_array[] = {
{IPv4(1,1,1,0), 24, 0},
{IPv4(2,1,1,0), 24, 1},
{IPv4(3,1,1,0), 24, 2},
{IPv4(4,1,1,0), 24, 3},
{IPv4(5,1,1,0), 24, 4},
{IPv4(6,1,1,0), 24, 5},
{IPv4(7,1,1,0), 24, 6},
{IPv4(8,1,1,0), 24, 7},
{RTE_IPv4(1,1,1,0), 24, 0},
{RTE_IPv4(2,1,1,0), 24, 1},
{RTE_IPv4(3,1,1,0), 24, 2},
{RTE_IPv4(4,1,1,0), 24, 3},
{RTE_IPv4(5,1,1,0), 24, 4},
{RTE_IPv4(6,1,1,0), 24, 5},
{RTE_IPv4(7,1,1,0), 24, 6},
{RTE_IPv4(8,1,1,0), 24, 7},
};
#define IPV4_L3FWD_NUM_ROUTES \

View File

@ -201,10 +201,10 @@ struct l3fwd_route {
};
static struct l3fwd_route l3fwd_route_array[] = {
{{IPv4(100,10,0,1), IPv4(200,10,0,1), 101, 11, IPPROTO_TCP}, 0},
{{IPv4(100,20,0,2), IPv4(200,20,0,2), 102, 12, IPPROTO_TCP}, 1},
{{IPv4(100,30,0,3), IPv4(200,30,0,3), 103, 13, IPPROTO_TCP}, 2},
{{IPv4(100,40,0,4), IPv4(200,40,0,4), 104, 14, IPPROTO_TCP}, 3},
{{RTE_IPv4(100,10,0,1), RTE_IPv4(200,10,0,1), 101, 11, IPPROTO_TCP}, 0},
{{RTE_IPv4(100,20,0,2), RTE_IPv4(200,20,0,2), 102, 12, IPPROTO_TCP}, 1},
{{RTE_IPv4(100,30,0,3), RTE_IPv4(200,30,0,3), 103, 13, IPPROTO_TCP}, 2},
{{RTE_IPv4(100,40,0,4), RTE_IPv4(200,40,0,4), 104, 14, IPPROTO_TCP}, 3},
};
typedef struct rte_hash lookup_struct_t;
@ -234,14 +234,14 @@ struct l3fwd_route {
};
static struct l3fwd_route l3fwd_route_array[] = {
{IPv4(1,1,1,0), 24, 0},
{IPv4(2,1,1,0), 24, 1},
{IPv4(3,1,1,0), 24, 2},
{IPv4(4,1,1,0), 24, 3},
{IPv4(5,1,1,0), 24, 4},
{IPv4(6,1,1,0), 24, 5},
{IPv4(7,1,1,0), 24, 6},
{IPv4(8,1,1,0), 24, 7},
{RTE_IPv4(1,1,1,0), 24, 0},
{RTE_IPv4(2,1,1,0), 24, 1},
{RTE_IPv4(3,1,1,0), 24, 2},
{RTE_IPv4(4,1,1,0), 24, 3},
{RTE_IPv4(5,1,1,0), 24, 4},
{RTE_IPv4(6,1,1,0), 24, 5},
{RTE_IPv4(7,1,1,0), 24, 6},
{RTE_IPv4(8,1,1,0), 24, 7},
};
#define L3FWD_NUM_ROUTES \

View File

@ -99,10 +99,10 @@ struct ipv6_l3fwd_em_route {
};
static struct ipv4_l3fwd_em_route ipv4_l3fwd_em_route_array[] = {
{{IPv4(101, 0, 0, 0), IPv4(100, 10, 0, 1), 101, 11, IPPROTO_TCP}, 0},
{{IPv4(201, 0, 0, 0), IPv4(200, 20, 0, 1), 102, 12, IPPROTO_TCP}, 1},
{{IPv4(111, 0, 0, 0), IPv4(100, 30, 0, 1), 101, 11, IPPROTO_TCP}, 2},
{{IPv4(211, 0, 0, 0), IPv4(200, 40, 0, 1), 102, 12, IPPROTO_TCP}, 3},
{{RTE_IPv4(101, 0, 0, 0), RTE_IPv4(100, 10, 0, 1), 101, 11, IPPROTO_TCP}, 0},
{{RTE_IPv4(201, 0, 0, 0), RTE_IPv4(200, 20, 0, 1), 102, 12, IPPROTO_TCP}, 1},
{{RTE_IPv4(111, 0, 0, 0), RTE_IPv4(100, 30, 0, 1), 101, 11, IPPROTO_TCP}, 2},
{{RTE_IPv4(211, 0, 0, 0), RTE_IPv4(200, 40, 0, 1), 102, 12, IPPROTO_TCP}, 3},
};
static struct ipv6_l3fwd_em_route ipv6_l3fwd_em_route_array[] = {
@ -426,19 +426,19 @@ populate_ipv4_many_flow_into_table(const struct rte_hash *h,
switch (i & (NUMBER_PORT_USED - 1)) {
case 0:
entry = ipv4_l3fwd_em_route_array[0];
entry.key.ip_dst = IPv4(101, c, b, a);
entry.key.ip_dst = RTE_IPv4(101, c, b, a);
break;
case 1:
entry = ipv4_l3fwd_em_route_array[1];
entry.key.ip_dst = IPv4(201, c, b, a);
entry.key.ip_dst = RTE_IPv4(201, c, b, a);
break;
case 2:
entry = ipv4_l3fwd_em_route_array[2];
entry.key.ip_dst = IPv4(111, c, b, a);
entry.key.ip_dst = RTE_IPv4(111, c, b, a);
break;
case 3:
entry = ipv4_l3fwd_em_route_array[3];
entry.key.ip_dst = IPv4(211, c, b, a);
entry.key.ip_dst = RTE_IPv4(211, c, b, a);
break;
};
convert_ipv4_5tuple(&entry.key, &newkey);
@ -576,8 +576,8 @@ em_parse_ptype(struct rte_mbuf *m)
l3 = (uint8_t *)eth_hdr + sizeof(struct rte_ether_hdr);
if (ether_type == rte_cpu_to_be_16(RTE_ETHER_TYPE_IPv4)) {
ipv4_hdr = (struct rte_ipv4_hdr *)l3;
hdr_len = (ipv4_hdr->version_ihl & IPV4_HDR_IHL_MASK) *
IPV4_IHL_MULTIPLIER;
hdr_len = (ipv4_hdr->version_ihl & RTE_IPV4_HDR_IHL_MASK) *
RTE_IPV4_IHL_MULTIPLIER;
if (hdr_len == sizeof(struct rte_ipv4_hdr)) {
packet_type |= RTE_PTYPE_L3_IPV4;
if (ipv4_hdr->next_proto_id == IPPROTO_TCP)

View File

@ -43,14 +43,14 @@ struct ipv6_l3fwd_lpm_route {
/* 192.18.0.0/16 are set aside for RFC2544 benchmarking. */
static struct ipv4_l3fwd_lpm_route ipv4_l3fwd_lpm_route_array[] = {
{IPv4(192, 18, 0, 0), 24, 0},
{IPv4(192, 18, 1, 0), 24, 1},
{IPv4(192, 18, 2, 0), 24, 2},
{IPv4(192, 18, 3, 0), 24, 3},
{IPv4(192, 18, 4, 0), 24, 4},
{IPv4(192, 18, 5, 0), 24, 5},
{IPv4(192, 18, 6, 0), 24, 6},
{IPv4(192, 18, 7, 0), 24, 7},
{RTE_IPv4(192, 18, 0, 0), 24, 0},
{RTE_IPv4(192, 18, 1, 0), 24, 1},
{RTE_IPv4(192, 18, 2, 0), 24, 2},
{RTE_IPv4(192, 18, 3, 0), 24, 3},
{RTE_IPv4(192, 18, 4, 0), 24, 4},
{RTE_IPv4(192, 18, 5, 0), 24, 5},
{RTE_IPv4(192, 18, 6, 0), 24, 6},
{RTE_IPv4(192, 18, 7, 0), 24, 7},
};
/* 2001:0200::/48 is IANA reserved range for IPv6 benchmarking (RFC5180) */

View File

@ -380,10 +380,10 @@ struct ipv6_l3fwd_route {
};
static struct ipv4_l3fwd_route ipv4_l3fwd_route_array[] = {
{{IPv4(101, 0, 0, 0), IPv4(100, 10, 0, 1), 101, 11, IPPROTO_TCP}, 0},
{{IPv4(201, 0, 0, 0), IPv4(200, 20, 0, 1), 102, 12, IPPROTO_TCP}, 1},
{{IPv4(111, 0, 0, 0), IPv4(100, 30, 0, 1), 101, 11, IPPROTO_TCP}, 2},
{{IPv4(211, 0, 0, 0), IPv4(200, 40, 0, 1), 102, 12, IPPROTO_TCP}, 3},
{{RTE_IPv4(101, 0, 0, 0), RTE_IPv4(100, 10, 0, 1), 101, 11, IPPROTO_TCP}, 0},
{{RTE_IPv4(201, 0, 0, 0), RTE_IPv4(200, 20, 0, 1), 102, 12, IPPROTO_TCP}, 1},
{{RTE_IPv4(111, 0, 0, 0), RTE_IPv4(100, 30, 0, 1), 101, 11, IPPROTO_TCP}, 2},
{{RTE_IPv4(211, 0, 0, 0), RTE_IPv4(200, 40, 0, 1), 102, 12, IPPROTO_TCP}, 3},
};
static struct ipv6_l3fwd_route ipv6_l3fwd_route_array[] = {
@ -503,14 +503,14 @@ struct ipv6_l3fwd_route {
};
static struct ipv4_l3fwd_route ipv4_l3fwd_route_array[] = {
{IPv4(1, 1, 1, 0), 24, 0},
{IPv4(2, 1, 1, 0), 24, 1},
{IPv4(3, 1, 1, 0), 24, 2},
{IPv4(4, 1, 1, 0), 24, 3},
{IPv4(5, 1, 1, 0), 24, 4},
{IPv4(6, 1, 1, 0), 24, 5},
{IPv4(7, 1, 1, 0), 24, 6},
{IPv4(8, 1, 1, 0), 24, 7},
{RTE_IPv4(1, 1, 1, 0), 24, 0},
{RTE_IPv4(2, 1, 1, 0), 24, 1},
{RTE_IPv4(3, 1, 1, 0), 24, 2},
{RTE_IPv4(4, 1, 1, 0), 24, 3},
{RTE_IPv4(5, 1, 1, 0), 24, 4},
{RTE_IPv4(6, 1, 1, 0), 24, 5},
{RTE_IPv4(7, 1, 1, 0), 24, 6},
{RTE_IPv4(8, 1, 1, 0), 24, 7},
};
static struct ipv6_l3fwd_route ipv6_l3fwd_route_array[] = {
@ -3145,19 +3145,19 @@ populate_ipv4_many_flow_into_table(const struct rte_hash *h,
switch (i & (NUMBER_PORT_USED - 1)) {
case 0:
entry = ipv4_l3fwd_route_array[0];
entry.key.ip_dst = IPv4(101, c, b, a);
entry.key.ip_dst = RTE_IPv4(101, c, b, a);
break;
case 1:
entry = ipv4_l3fwd_route_array[1];
entry.key.ip_dst = IPv4(201, c, b, a);
entry.key.ip_dst = RTE_IPv4(201, c, b, a);
break;
case 2:
entry = ipv4_l3fwd_route_array[2];
entry.key.ip_dst = IPv4(111, c, b, a);
entry.key.ip_dst = RTE_IPv4(111, c, b, a);
break;
case 3:
entry = ipv4_l3fwd_route_array[3];
entry.key.ip_dst = IPv4(211, c, b, a);
entry.key.ip_dst = RTE_IPv4(211, c, b, a);
break;
};
convert_ipv4_5tuple(&entry.key, &newkey);

View File

@ -239,7 +239,7 @@ gro_tcp4_reassemble(struct rte_mbuf *pkt,
* whose DF bit is 1, IPv4 ID is ignored.
*/
frag_off = rte_be_to_cpu_16(ipv4_hdr->fragment_offset);
is_atomic = (frag_off & IPV4_HDR_DF_FLAG) == IPV4_HDR_DF_FLAG;
is_atomic = (frag_off & RTE_IPV4_HDR_DF_FLAG) == RTE_IPV4_HDR_DF_FLAG;
ip_id = is_atomic ? 0 : rte_be_to_cpu_16(ipv4_hdr->packet_id);
sent_seq = rte_be_to_cpu_32(tcp_hdr->sent_seq);

View File

@ -348,11 +348,12 @@ gro_vxlan_tcp4_reassemble(struct rte_mbuf *pkt,
* whose DF bit is 1, IPv4 ID is ignored.
*/
frag_off = rte_be_to_cpu_16(outer_ipv4_hdr->fragment_offset);
outer_is_atomic = (frag_off & IPV4_HDR_DF_FLAG) == IPV4_HDR_DF_FLAG;
outer_is_atomic =
(frag_off & RTE_IPV4_HDR_DF_FLAG) == RTE_IPV4_HDR_DF_FLAG;
outer_ip_id = outer_is_atomic ? 0 :
rte_be_to_cpu_16(outer_ipv4_hdr->packet_id);
frag_off = rte_be_to_cpu_16(ipv4_hdr->fragment_offset);
is_atomic = (frag_off & IPV4_HDR_DF_FLAG) == IPV4_HDR_DF_FLAG;
is_atomic = (frag_off & RTE_IPV4_HDR_DF_FLAG) == RTE_IPV4_HDR_DF_FLAG;
ip_id = is_atomic ? 0 : rte_be_to_cpu_16(ipv4_hdr->packet_id);
sent_seq = rte_be_to_cpu_32(tcp_hdr->sent_seq);

View File

@ -12,8 +12,8 @@
#include <rte_tcp.h>
#include <rte_udp.h>
#define IS_FRAGMENTED(frag_off) (((frag_off) & IPV4_HDR_OFFSET_MASK) != 0 \
|| ((frag_off) & IPV4_HDR_MF_FLAG) == IPV4_HDR_MF_FLAG)
#define IS_FRAGMENTED(frag_off) (((frag_off) & RTE_IPV4_HDR_OFFSET_MASK) != 0 \
|| ((frag_off) & RTE_IPV4_HDR_MF_FLAG) == RTE_IPV4_HDR_MF_FLAG)
#define TCP_HDR_PSH_MASK ((uint8_t)0x08)
#define TCP_HDR_FIN_MASK ((uint8_t)0x01)

View File

@ -309,8 +309,8 @@ rte_ipv4_frag_pkt_is_fragmented(const struct rte_ipv4_hdr *hdr)
uint16_t flag_offset, ip_flag, ip_ofs;
flag_offset = rte_be_to_cpu_16(hdr->fragment_offset);
ip_ofs = (uint16_t)(flag_offset & IPV4_HDR_OFFSET_MASK);
ip_flag = (uint16_t)(flag_offset & IPV4_HDR_MF_FLAG);
ip_ofs = (uint16_t)(flag_offset & RTE_IPV4_HDR_OFFSET_MASK);
ip_flag = (uint16_t)(flag_offset & RTE_IPV4_HDR_MF_FLAG);
return ip_flag != 0 || ip_ofs != 0;
}

View File

@ -12,22 +12,22 @@
#include "ip_frag_common.h"
/* Fragment Offset */
#define IPV4_HDR_DF_SHIFT 14
#define IPV4_HDR_MF_SHIFT 13
#define IPV4_HDR_FO_SHIFT 3
#define RTE_IPV4_HDR_DF_SHIFT 14
#define RTE_IPV4_HDR_MF_SHIFT 13
#define RTE_IPV4_HDR_FO_SHIFT 3
#define IPV4_HDR_DF_MASK (1 << IPV4_HDR_DF_SHIFT)
#define IPV4_HDR_MF_MASK (1 << IPV4_HDR_MF_SHIFT)
#define IPV4_HDR_DF_MASK (1 << RTE_IPV4_HDR_DF_SHIFT)
#define IPV4_HDR_MF_MASK (1 << RTE_IPV4_HDR_MF_SHIFT)
#define IPV4_HDR_FO_ALIGN (1 << IPV4_HDR_FO_SHIFT)
#define IPV4_HDR_FO_ALIGN (1 << RTE_IPV4_HDR_FO_SHIFT)
static inline void __fill_ipv4hdr_frag(struct rte_ipv4_hdr *dst,
const struct rte_ipv4_hdr *src, uint16_t len, uint16_t fofs,
uint16_t dofs, uint32_t mf)
{
rte_memcpy(dst, src, sizeof(*dst));
fofs = (uint16_t)(fofs + (dofs >> IPV4_HDR_FO_SHIFT));
fofs = (uint16_t)(fofs | mf << IPV4_HDR_MF_SHIFT);
fofs = (uint16_t)(fofs + (dofs >> RTE_IPV4_HDR_FO_SHIFT));
fofs = (uint16_t)(fofs | mf << RTE_IPV4_HDR_MF_SHIFT);
dst->fragment_offset = rte_cpu_to_be_16(fofs);
dst->total_length = rte_cpu_to_be_16(len);
dst->hdr_checksum = 0;

View File

@ -75,7 +75,7 @@ ipv4_frag_reassemble(struct ip_frag_pkt *fp)
ip_hdr->total_length = rte_cpu_to_be_16((uint16_t)(fp->total_size +
m->l3_len));
ip_hdr->fragment_offset = (uint16_t)(ip_hdr->fragment_offset &
rte_cpu_to_be_16(IPV4_HDR_DF_FLAG));
rte_cpu_to_be_16(RTE_IPV4_HDR_DF_FLAG));
ip_hdr->hdr_checksum = 0;
return m;
@ -109,8 +109,8 @@ rte_ipv4_frag_reassemble_packet(struct rte_ip_frag_tbl *tbl,
int32_t ip_len;
flag_offset = rte_be_to_cpu_16(ip_hdr->fragment_offset);
ip_ofs = (uint16_t)(flag_offset & IPV4_HDR_OFFSET_MASK);
ip_flag = (uint16_t)(flag_offset & IPV4_HDR_MF_FLAG);
ip_ofs = (uint16_t)(flag_offset & RTE_IPV4_HDR_OFFSET_MASK);
ip_flag = (uint16_t)(flag_offset & RTE_IPV4_HDR_MF_FLAG);
psd = (unaligned_uint64_t *)&ip_hdr->src_addr;
/* use first 8 bytes only */
@ -118,7 +118,7 @@ rte_ipv4_frag_reassemble_packet(struct rte_ip_frag_tbl *tbl,
key.id = ip_hdr->packet_id;
key.key_len = IPV4_KEYLEN;
ip_ofs *= IPV4_HDR_OFFSET_UNITS;
ip_ofs *= RTE_IPV4_HDR_OFFSET_UNITS;
ip_len = rte_be_to_cpu_16(ip_hdr->total_length) - mb->l3_len;
IP_FRAG_LOG(DEBUG, "%s:%d:\n"

View File

@ -42,52 +42,55 @@ struct rte_ipv4_hdr {
} __attribute__((__packed__));
/** Create IPv4 address */
#define IPv4(a,b,c,d) ((uint32_t)(((a) & 0xff) << 24) | \
#define RTE_IPv4(a, b, c, d) ((uint32_t)(((a) & 0xff) << 24) | \
(((b) & 0xff) << 16) | \
(((c) & 0xff) << 8) | \
((d) & 0xff))
/** Maximal IPv4 packet length (including a header) */
#define IPV4_MAX_PKT_LEN 65535
#define RTE_IPV4_MAX_PKT_LEN 65535
/** Internet header length mask for version_ihl field */
#define IPV4_HDR_IHL_MASK (0x0f)
#define RTE_IPV4_HDR_IHL_MASK (0x0f)
/**
* Internet header length field multiplier (IHL field specifies overall header
* length in number of 4-byte words)
*/
#define IPV4_IHL_MULTIPLIER (4)
#define RTE_IPV4_IHL_MULTIPLIER (4)
/* Fragment Offset * Flags. */
#define IPV4_HDR_DF_SHIFT 14
#define IPV4_HDR_MF_SHIFT 13
#define IPV4_HDR_FO_SHIFT 3
#define RTE_IPV4_HDR_DF_SHIFT 14
#define RTE_IPV4_HDR_MF_SHIFT 13
#define RTE_IPV4_HDR_FO_SHIFT 3
#define IPV4_HDR_DF_FLAG (1 << IPV4_HDR_DF_SHIFT)
#define IPV4_HDR_MF_FLAG (1 << IPV4_HDR_MF_SHIFT)
#define RTE_IPV4_HDR_DF_FLAG (1 << RTE_IPV4_HDR_DF_SHIFT)
#define RTE_IPV4_HDR_MF_FLAG (1 << RTE_IPV4_HDR_MF_SHIFT)
#define IPV4_HDR_OFFSET_MASK ((1 << IPV4_HDR_MF_SHIFT) - 1)
#define RTE_IPV4_HDR_OFFSET_MASK ((1 << RTE_IPV4_HDR_MF_SHIFT) - 1)
#define IPV4_HDR_OFFSET_UNITS 8
#define RTE_IPV4_HDR_OFFSET_UNITS 8
/*
* IPv4 address types
*/
#define IPV4_ANY ((uint32_t)0x00000000) /**< 0.0.0.0 */
#define IPV4_LOOPBACK ((uint32_t)0x7f000001) /**< 127.0.0.1 */
#define IPV4_BROADCAST ((uint32_t)0xe0000000) /**< 224.0.0.0 */
#define IPV4_ALLHOSTS_GROUP ((uint32_t)0xe0000001) /**< 224.0.0.1 */
#define IPV4_ALLRTRS_GROUP ((uint32_t)0xe0000002) /**< 224.0.0.2 */
#define IPV4_MAX_LOCAL_GROUP ((uint32_t)0xe00000ff) /**< 224.0.0.255 */
#define RTE_IPV4_ANY ((uint32_t)0x00000000) /**< 0.0.0.0 */
#define RTE_IPV4_LOOPBACK ((uint32_t)0x7f000001) /**< 127.0.0.1 */
#define RTE_IPV4_BROADCAST ((uint32_t)0xe0000000) /**< 224.0.0.0 */
#define RTE_IPV4_ALLHOSTS_GROUP ((uint32_t)0xe0000001) /**< 224.0.0.1 */
#define RTE_IPV4_ALLRTRS_GROUP ((uint32_t)0xe0000002) /**< 224.0.0.2 */
#define RTE_IPV4_MAX_LOCAL_GROUP ((uint32_t)0xe00000ff) /**< 224.0.0.255 */
/*
* IPv4 Multicast-related macros
*/
#define IPV4_MIN_MCAST IPv4(224, 0, 0, 0) /**< Minimal IPv4-multicast address */
#define IPV4_MAX_MCAST IPv4(239, 255, 255, 255) /**< Maximum IPv4 multicast address */
#define RTE_IPV4_MIN_MCAST \
RTE_IPv4(224, 0, 0, 0) /**< Minimal IPv4-multicast address */
#define RTE_IPV4_MAX_MCAST \
RTE_IPv4(239, 255, 255, 255) /**< Maximum IPv4 multicast address */
#define IS_IPV4_MCAST(x) \
((x) >= IPV4_MIN_MCAST && (x) <= IPV4_MAX_MCAST) /**< check if IPv4 address is multicast */
#define RTE_IS_IPV4_MCAST(x) \
((x) >= RTE_IPV4_MIN_MCAST && (x) <= RTE_IPV4_MAX_MCAST)
/**< check if IPv4 address is multicast */
/**
* @internal Calculate a sum of all words in the buffer.
@ -349,10 +352,10 @@ struct rte_ipv6_hdr {
} __attribute__((__packed__));
/* IPv6 vtc_flow: IPv / TC / flow_label */
#define IPV6_HDR_FL_SHIFT 0
#define IPV6_HDR_TC_SHIFT 20
#define IPV6_HDR_FL_MASK ((1u << IPV6_HDR_TC_SHIFT) - 1)
#define IPV6_HDR_TC_MASK (0xf << IPV6_HDR_TC_SHIFT)
#define RTE_IPV6_HDR_FL_SHIFT 0
#define RTE_IPV6_HDR_TC_SHIFT 20
#define RTE_IPV6_HDR_FL_MASK ((1u << RTE_IPV6_HDR_TC_SHIFT) - 1)
#define RTE_IPV6_HDR_TC_MASK (0xf << RTE_IPV6_HDR_TC_SHIFT)
/**
* Process the pseudo-header checksum of an IPv6 header.

View File

@ -315,7 +315,7 @@ uint32_t rte_net_get_ptype(const struct rte_mbuf *m,
return pkt_type;
if (ip4h->fragment_offset & rte_cpu_to_be_16(
IPV4_HDR_OFFSET_MASK | IPV4_HDR_MF_FLAG)) {
RTE_IPV4_HDR_OFFSET_MASK | RTE_IPV4_HDR_MF_FLAG)) {
pkt_type |= RTE_PTYPE_L4_FRAG;
hdr_lens->l4_len = 0;
return pkt_type;
@ -446,8 +446,8 @@ uint32_t rte_net_get_ptype(const struct rte_mbuf *m,
if ((layers & RTE_PTYPE_INNER_L4_MASK) == 0)
return pkt_type;
if (ip4h->fragment_offset &
rte_cpu_to_be_16(IPV4_HDR_OFFSET_MASK |
IPV4_HDR_MF_FLAG)) {
rte_cpu_to_be_16(RTE_IPV4_HDR_OFFSET_MASK |
RTE_IPV4_HDR_MF_FLAG)) {
pkt_type |= RTE_PTYPE_INNER_L4_FRAG;
hdr_lens->inner_l4_len = 0;
return pkt_type;

View File

@ -156,8 +156,8 @@ process_ipv4(struct rte_port_ring_writer_ras *p, struct rte_mbuf *pkt)
/* Get "More fragments" flag and fragment offset */
uint16_t frag_field = rte_be_to_cpu_16(pkt_hdr->fragment_offset);
uint16_t frag_offset = (uint16_t)(frag_field & IPV4_HDR_OFFSET_MASK);
uint16_t frag_flag = (uint16_t)(frag_field & IPV4_HDR_MF_FLAG);
uint16_t frag_offset = (uint16_t)(frag_field & RTE_IPV4_HDR_OFFSET_MASK);
uint16_t frag_flag = (uint16_t)(frag_field & RTE_IPV4_HDR_MF_FLAG);
/* If it is a fragmented packet, then try to reassemble */
if ((frag_flag == 0) && (frag_offset == 0))