X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=examples%2Fbond%2Fmain.c;h=ed39b7237fbb23669c3912fd2d2f6e198d1bc3f2;hb=bd3c90715b1913b99b9857067fa76985b7fb9224;hp=398553b7853f3d354a5321b60ebd5a969a6ef5cc;hpb=cb056611a8ed9ab9024f3b91bf26e97255194514;p=dpdk.git diff --git a/examples/bond/main.c b/examples/bond/main.c index 398553b785..ed39b7237f 100644 --- a/examples/bond/main.c +++ b/examples/bond/main.c @@ -24,7 +24,6 @@ #include #include #include -#include #include #include #include @@ -41,6 +40,10 @@ #include #include #include +#include +#include +#include +#include #include #include @@ -53,13 +56,6 @@ #include "main.h" -#include - - -#include "rte_byteorder.h" -#include "rte_cpuflags.h" -#include "rte_eth_bond.h" - #define RTE_LOGTYPE_DCB RTE_LOGTYPE_USER1 #define NB_MBUF (1024*8) @@ -107,8 +103,7 @@ #define MAX_PORTS 4 #define PRINT_MAC(addr) printf("%02"PRIx8":%02"PRIx8":%02"PRIx8 \ ":%02"PRIx8":%02"PRIx8":%02"PRIx8, \ - addr.addr_bytes[0], addr.addr_bytes[1], addr.addr_bytes[2], \ - addr.addr_bytes[3], addr.addr_bytes[4], addr.addr_bytes[5]) + RTE_ETHER_ADDR_BYTES(&addr)) uint16_t slaves[RTE_MAX_ETHPORTS]; uint16_t slaves_count; @@ -362,7 +357,7 @@ struct global_flag_stru_t *global_flag_stru_p = &global_flag_stru; static int lcore_main(__rte_unused void *arg1) { struct rte_mbuf *pkts[MAX_PKT_BURST] __rte_cache_aligned; - struct rte_ether_addr d_addr; + struct rte_ether_addr dst_addr; struct rte_ether_addr bond_mac_addr; struct rte_ether_hdr *eth_hdr; @@ -426,13 +421,13 @@ static int lcore_main(__rte_unused void *arg1) if (arp_hdr->arp_opcode == rte_cpu_to_be_16(RTE_ARP_OP_REQUEST)) { arp_hdr->arp_opcode = rte_cpu_to_be_16(RTE_ARP_OP_REPLY); /* Switch src and dst data and set bonding MAC */ - rte_ether_addr_copy(ð_hdr->s_addr, ð_hdr->d_addr); - rte_ether_addr_copy(&bond_mac_addr, ð_hdr->s_addr); + rte_ether_addr_copy(ð_hdr->src_addr, ð_hdr->dst_addr); + rte_ether_addr_copy(&bond_mac_addr, ð_hdr->src_addr); rte_ether_addr_copy(&arp_hdr->arp_data.arp_sha, &arp_hdr->arp_data.arp_tha); arp_hdr->arp_data.arp_tip = arp_hdr->arp_data.arp_sip; - rte_ether_addr_copy(&bond_mac_addr, &d_addr); - rte_ether_addr_copy(&d_addr, &arp_hdr->arp_data.arp_sha); + rte_ether_addr_copy(&bond_mac_addr, &dst_addr); + rte_ether_addr_copy(&dst_addr, &arp_hdr->arp_data.arp_sha); arp_hdr->arp_data.arp_sip = bond_ip; rte_eth_tx_burst(BOND_PORT, 0, &pkts[i], 1); is_free = 1; @@ -447,8 +442,10 @@ static int lcore_main(__rte_unused void *arg1) } ipv4_hdr = (struct rte_ipv4_hdr *)((char *)(eth_hdr + 1) + offset); if (ipv4_hdr->dst_addr == bond_ip) { - rte_ether_addr_copy(ð_hdr->s_addr, ð_hdr->d_addr); - rte_ether_addr_copy(&bond_mac_addr, ð_hdr->s_addr); + rte_ether_addr_copy(ð_hdr->src_addr, + ð_hdr->dst_addr); + rte_ether_addr_copy(&bond_mac_addr, + ð_hdr->src_addr); ipv4_hdr->dst_addr = ipv4_hdr->src_addr; ipv4_hdr->src_addr = bond_ip; rte_eth_tx_burst(BOND_PORT, 0, &pkts[i], 1); @@ -523,8 +520,8 @@ static void cmd_obj_send_parsed(void *parsed_result, created_pkt->pkt_len = pkt_size; eth_hdr = rte_pktmbuf_mtod(created_pkt, struct rte_ether_hdr *); - rte_ether_addr_copy(&bond_mac_addr, ð_hdr->s_addr); - memset(ð_hdr->d_addr, 0xFF, RTE_ETHER_ADDR_LEN); + rte_ether_addr_copy(&bond_mac_addr, ð_hdr->src_addr); + memset(ð_hdr->dst_addr, 0xFF, RTE_ETHER_ADDR_LEN); eth_hdr->ether_type = rte_cpu_to_be_16(RTE_ETHER_TYPE_ARP); arp_hdr = (struct rte_arp_hdr *)( @@ -879,5 +876,9 @@ main(int argc, char *argv[]) prompt(NULL); rte_delay_ms(100); + + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; }