X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=lib%2Flibrte_net%2Frte_arp.h;h=fabd6862434bd8d6a714057461d510f579c7d92c;hb=fc2dd8dd492fade39a4c4de037ff3c869daff47d;hp=dad7423ad335a7d3779654e96cad938660295924;hpb=45ae05df824c49769e591b7fc8728855bba9ab0b;p=dpdk.git diff --git a/lib/librte_net/rte_arp.h b/lib/librte_net/rte_arp.h index dad7423ad3..fabd686243 100644 --- a/lib/librte_net/rte_arp.h +++ b/lib/librte_net/rte_arp.h @@ -1,32 +1,5 @@ -/* BSD LICENSE - * - * Copyright(c) 2013 6WIND. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of 6WIND S.A. nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2013 6WIND S.A. */ #ifndef _RTE_ARP_H_ @@ -48,33 +21,33 @@ extern "C" { /** * ARP header IPv4 payload. */ -struct arp_ipv4 { - struct ether_addr arp_sha; /**< sender hardware address */ +struct rte_arp_ipv4 { + struct rte_ether_addr arp_sha; /**< sender hardware address */ uint32_t arp_sip; /**< sender IP address */ - struct ether_addr arp_tha; /**< target hardware address */ + struct rte_ether_addr arp_tha; /**< target hardware address */ uint32_t arp_tip; /**< target IP address */ -} __attribute__((__packed__)); +} __attribute__((__packed__)) __attribute__((aligned(2))); /** * ARP header. */ -struct arp_hdr { - uint16_t arp_hrd; /* format of hardware address */ -#define ARP_HRD_ETHER 1 /* ARP Ethernet address format */ +struct rte_arp_hdr { + uint16_t arp_hardware; /* format of hardware address */ +#define RTE_ARP_HRD_ETHER 1 /* ARP Ethernet address format */ - uint16_t arp_pro; /* format of protocol address */ - uint8_t arp_hln; /* length of hardware address */ - uint8_t arp_pln; /* length of protocol address */ - uint16_t arp_op; /* ARP opcode (command) */ -#define ARP_OP_REQUEST 1 /* request to resolve address */ -#define ARP_OP_REPLY 2 /* response to previous request */ -#define ARP_OP_REVREQUEST 3 /* request proto addr given hardware */ -#define ARP_OP_REVREPLY 4 /* response giving protocol address */ -#define ARP_OP_INVREQUEST 8 /* request to identify peer */ -#define ARP_OP_INVREPLY 9 /* response identifying peer */ + uint16_t arp_protocol; /* format of protocol address */ + uint8_t arp_hlen; /* length of hardware address */ + uint8_t arp_plen; /* length of protocol address */ + uint16_t arp_opcode; /* ARP opcode (command) */ +#define RTE_ARP_OP_REQUEST 1 /* request to resolve address */ +#define RTE_ARP_OP_REPLY 2 /* response to previous request */ +#define RTE_ARP_OP_REVREQUEST 3 /* request proto addr given hardware */ +#define RTE_ARP_OP_REVREPLY 4 /* response giving protocol address */ +#define RTE_ARP_OP_INVREQUEST 8 /* request to identify peer */ +#define RTE_ARP_OP_INVREPLY 9 /* response identifying peer */ - struct arp_ipv4 arp_data; -} __attribute__((__packed__)); + struct rte_arp_ipv4 arp_data; +} __attribute__((__packed__)) __attribute__((aligned(2))); /** * @warning @@ -82,16 +55,18 @@ struct arp_hdr { * * Make a RARP packet based on MAC addr. * - * @param mbuf - * Pointer to the rte_mbuf structure + * @param mpool + * Pointer to the rte_mempool * @param mac * Pointer to the MAC addr * * @return - * - 0 on success, negative on error + * - RARP packet pointer on success, or NULL on error */ -int -rte_net_make_rarp_packet(struct rte_mbuf *mbuf, const struct ether_addr *mac); +__rte_experimental +struct rte_mbuf * +rte_net_make_rarp_packet(struct rte_mempool *mpool, + const struct rte_ether_addr *mac); #ifdef __cplusplus }