Branch | Commit message | Author | Age | |
---|---|---|---|---|
master | vppinfra: fix float rounding in format function | Pierre Pfister | 7 hours | |
stable/2410 | misc: VPP 24.10 Release Notes | Andrew Yourtchenko | 2 months | |
stable/2406 | prom: test_prom fix | Matus Fabian | 5 months | |
stable/2402 | build: update octeon-roc checksum to updated version | Dave Wallace | 5 months | |
stable/2310 | sr: use correct reply to sr_policy_add_v2 | Vratko Polak | 9 months | |
stable/2306 | vpp-swan: fix configuration of policies | Gabriel Oginski | 16 months | |
stable/2302 | vlib: reset stop_timer_handle on expired processes | Matthew Smith | 16 months | |
stable/2210 | nat: fix nat44 vrf handlers | Daniel Béreš | 21 months | |
stable/2206 | misc: VPP 22.06.1 Release Notes | Dave Wallace | 23 months | |
stable/2106 | ipsec: fix AES CBC IV generation (CVE-2022-46397) | Benoît Ganne | 23 months | |
stable/2101 | ipsec: fix AES CBC IV generation (CVE-2022-46397) | Benoît Ganne | 23 months | |
stable/2009 | ipsec: fix AES CBC IV generation (CVE-2022-46397) | Benoît Ganne | 23 months | |
stable/2005 | ipsec: fix AES CBC IV generation (CVE-2022-46397) | Benoît Ganne | 23 months | |
stable/2001 | ipsec: fix AES CBC IV generation (CVE-2022-46397) | Benoît Ganne | 23 months | |
stable/1904 | ipsec: fix AES CBC IV generation (CVE-2022-46397) | Benoît Ganne | 23 months | |
stable/1908 | ipsec: fix AES CBC IV generation (CVE-2022-46397) | Benoît Ganne | 23 months | |
stable/2110 | ipsec: fix AES CBC IV generation (CVE-2022-46397) | Benoît Ganne | 23 months | |
stable/2202 | ipsec: fix AES CBC IV generation (CVE-2022-46397) | Benoît Ganne | 23 months | |
stable/1901 | vlib: address vlib_error_t scaling issue | Steven Luong | 5 years | |
stable/1807 | Clean up multi-thread barrier-sync hold-down timer | Dave Barach | 6 years | |
stable/1810 | mp_safe SW_INTERFACE_DUMP, SW_INTERFACE_DETAILS, SW_INTERFACE_TAG_ADD_DEL, | Steven Luong | 6 years | |
stable/1804 | fix packets redirect ineffective on af-packet interface | chenxiang | 6 years | |
stable/1801 | fix issue with missing sample_main in sample plugin |
}
/*
* ethernet/arp.c: IP v4 ARP node
*
* Copyright (c) 2010 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 __ARP_PACKET_H__
#define __ARP_PACKET_H__
#include <vnet/arp/arp.h>
/* Either we drop the packet or we send a reply to the sender. */
typedef enum
{
ARP_REPLY_NEXT_DROP,
ARP_REPLY_NEXT_REPLY_TX,
ARP_REPLY_N_NEXT,
} arp_reply_next_t;
static_always_inline u32
arp_mk_reply (vnet_main_t * vnm,
vlib_buffer_t * p0,
u32 sw_if_index0,
const ip4_address_t * if_addr0,
ethernet_arp_header_t * arp0, ethernet_header_t * eth_rx)
{
vnet_hw_interface_t *hw_if0;
u8 *rewrite0, rewrite0_len;
ethernet_header_t *eth_tx;
u32 next0;
/* Send a reply.
An adjacency to the sender is not always present,
so we use the interface to build us a rewrite string
which will contain all the necessary tags. */
rewrite0 = ethernet_build_rewrite (vnm, sw_if_index0,
VNET_LINK_ARP, eth_rx->src_address);
rewrite0_len = vec_len (rewrite0);
/* Figure out how much to rewind current data from adjacency. */
vlib_buffer_advance (p0, -rewrite0_len);
eth_tx = vlib_buffer_get_current (p0);
vnet_buffer (p0)->sw_if_index[VLIB_TX] = sw_if_index0;
hw_if0 = vnet_get_sup_hw_interface (vnm, sw_if_index0);
/* Send reply back through input interface */
vnet_buffer (p0)->sw_if_index[VLIB_TX] = sw_if_index0;
next0 = ARP_REPLY_NEXT_REPLY_TX;
arp0->opcode = clib_host_to_net_u16 (ETHERNET_ARP_OPCODE_reply);
arp0->ip4_over_ethernet[1] = arp0->ip4_over_ethernet[0];
mac_address_from_bytes (&arp0->ip4_over_ethernet[0].mac,
hw_if0->hw_address);
clib_mem_unaligned (&arp0->ip4_over_ethernet[0].ip4.data_u32, u32) =
if_addr0->data_u32;
/* Hardware must be ethernet-like. */
ASSERT (vec_len (hw_if0->hw_address) == 6);
/* the rx nd tx ethernet headers wil overlap in the case
* when we received a tagged VLAN=0 packet, but we are sending
* back untagged */
clib_memcpy_fast (eth_tx, rewrite0, vec_len (rewrite0));
vec_free (rewrite0);
return (next0);
}
#endif
/*
* fd.io coding-style-patch-verification: ON
*
* Local Variables:
* eval: (c-set-style "gnu")
* End:
*/
| 8 months | |
v24.02 | commit 455960759b... | Andrew Yourtchenko | 10 months | |
v24.02-rc2 | commit 8cbf84dce0... | Andrew Yourtchenko | 11 months | |
v24.02-rc1 | commit 3a56e86a73... | Andrew Yourtchenko | 11 months | |
v24.06-rc0 | commit 6fb2b3dc72... | Andrew Yourtchenko | 11 months | |
v23.10 | commit 7c4027fa5e... | Andrew Yourtchenko | 14 months | |
v23.10-rc2 | commit 015a6f7f17... | Andrew Yourtchenko | 15 months | |
v23.10-rc1 | commit 14df6fc1ea... | Andrew Yourtchenko | 16 months | |
v24.02-rc0 | commit 7419bede7a... | Andrew Yourtchenko | 16 months | |
v23.06 | commit 493b8990d1... | Andrew Yourtchenko | 18 months | |
v23.06-rc2 | commit 5e6bc730ef... | Andrew Yourtchenko | 19 months | |
v23.06-rc1 | commit b60a6477eb... | Andrew Yourtchenko | 20 months | |
v23.10-rc0 | commit a7dd04d73b... | Andrew Yourtchenko | 20 months | |
v23.02 | commit 5516fc0f3b... | Andrew Yourtchenko | 23 months | |
v22.10.1 | commit 57302fe52f... | Dave Wallace | 23 months | |
v22.06.1 | commit 1513b381d8... | Dave Wallace | 23 months | |
v23.02-rc2 | commit be1b844214... | Andrew Yourtchenko | 23 months | |
v23.02-rc1 | commit 42b5a8767c... | Andrew Yourtchenko | 24 months | |
v23.06-rc0 | commit 2ebb95228f... | Andrew Yourtchenko | 24 months | |
v22.10 | commit 07e0c05e69... | Andrew Yourtchenko | 2 years | |
v22.10-rc2 | commit 61bae8a54d... | Andrew Yourtchenko | 2 years | |
v22.10-rc1 | commit f845abb5dd... | Andrew Yourtchenko | 2 years | |
v23.02-rc0 | commit a2a7a4031b... | Andrew Yourtchenko | 2 years | |
v22.06 | commit 0d352a97c5... | Andrew Yourtchenko | 3 years | |
v22.06-rc2 | commit ea4bcec987... | Andrew Yourtchenko | 3 years | |
v22.06-rc1 | commit 211fa4748c... | Andrew Yourtchenko | 3 years | |
v22.10-rc0 | commit e0301eeb7b... | Andrew Yourtchenko | 3 years | |
v22.02 | commit 7911f29c51... | Andrew Yourtchenko | 3 years | |
v22.02-rc2 | commit 9d2db2eb2e... | Andrew Yourtchenko | 3 years | |
v22.02-rc1 | commit 93e5bea2d3... | Andrew Yourtchenko | 3 years | |
v22.06-rc0 | commit 017a676654... | Andrew Yourtchenko | 3 years | |
v21.10.1 | commit 0385458a56... | Andrew Yourtchenko | 3 years | |
v21.10 | commit 0e0384cde9... | Andrew Yourtchenko | 3 years | |
v21.10-rc2 | commit c1931b2f09... | Andrew Yourtchenko | 3 years | |
v21.10-rc1 | commit fd9d936b3c... | Andrew Yourtchenko | 3 years | |
v22.02-rc0 | commit 192c55f2e7... | Andrew Yourtchenko | 3 years | |
v21.01.1 | commit 54f8aff02a... | Andrew Yourtchenko | 3 years | |
v21.06 | commit fc83f8cc67... | Andrew Yourtchenko | 4 years | |
v21.06-rc2 | commit 8b297dbceb... | Andrew Yourtchenko | 4 years | |
v21.06-rc1 | commit e82d59f381... | Andrew Yourtchenko | 4 years | |
v21.10-rc0 | commit 91d6a94845... | Andrew Yourtchenko | 4 years | |
v21.01 | commit 3d2d96e554... | Andrew Yourtchenko | 4 years | |
v21.01-rc2 | commit 15db851d93... | Andrew Yourtchenko | 4 years | |
v21.01-rc1 | commit 9dab7b9416... | Andrew Yourtchenko | 4 years | |
v21.06-rc0 | commit 7742d5b355... | Andrew Yourtchenko | 4 years | |
v20.09 | commit 072def4738... | Andrew Yourtchenko | 4 years | |
v20.09-rc2 | commit a87deb77da... | Andrew Yourtchenko | 4 years | |
v20.09-rc1 | commit fb6d768419... | Andrew Yourtchenko | 4 years | |
v21.01-rc0 | commit 0b31630ce7... | Andrew Yourtchenko | 4 years | |
v19.08.3 | commit 37e99c22df... | Andrew Yourtchenko | 4 years | |
v20.05.1 | commit b1500e9fff... | Andrew Yourtchenko | 4 years | |
v20.05 | commit ab572152d9... | Andrew Yourtchenko | 5 years | |
v20.05-rc2 | commit 63f9e7cc0e... | Andrew Yourtchenko | 5 years | |
v20.05-rc1 | commit b8e9009400... | Andrew Yourtchenko | 5 years | |
v20.09-rc0 | commit b163bbb748... | Andrew Yourtchenko | 5 years | |
v19.08.2 | commit ec9ce338f0... | Andrew Yourtchenko | 5 years | |
v20.01 | commit fce396738f... | Andrew Yourtchenko | 5 years | |
v20.01-rc2 | commit 29acfa2ad5... | Andrew Yourtchenko | 5 years | |
v20.01-rc1 | commit c7fe31cfff... | Andrew Yourtchenko | 5 years | |
v20.05-rc0 | commit 8ad070e102... | Andrew Yourtchenko | 5 years | |
v19.04.4-rc0 | commit dfec10d137... | Dave Wallace | 5 years | |
v19.04.3 | commit bdb89b9897... | Dave Wallace | 5 years | |
v19.08.1 | commit f4dcae4164... | Andrew Yourtchenko | 5 years | |
v19.08 | commit 1c586de48c... | Andrew Yourtchenko | 5 years | |
v19.08-rc2 | commit 2f51729bb3... | Andrew Yourtchenko | 5 years | |
v19.08-rc1 | commit 23526f78a8... | Andrew Yourtchenko | 5 years | |
v20.01-rc0 | commit e41fd65381... | Andrew Yourtchenko | 5 years | |
v19.04.2 | commit d95a226047... | Dave Wallace | 5 years | |
v19.01.3 | commit bef25c30a1... | Andrew Yourtchenko | 5 years | |
v19.04.2-rc0 | commit e4a0f9fdc0... | Dave Wallace | 6 years | |
v19.01.3-rc0 | commit 6af8243814... | Dave Wallace | 6 years | |
v19.04.1 | commit 1662c9cd23... | Dave Wallace | 6 years | |
v19.01.2 | commit fa63602fcb... | Andrew Yourtchenko | 6 years | |
v19.01.2-rc0 | commit 67a3e2d130... | Dave Wallace | 6 years | |
v19.04.1-rc0 | commit 873b9ed405... | Dave Wallace | 6 years | |
v19.04 | commit 3d18a191aa... | Dave Wallace | 6 years | |
v19.04-rc2 | commit 0d7332e43f... | Dave Wallace | 6 years | |
v19.08-rc0 | commit 40fd1f3dfd... | Dave Wallace | 6 years | |
v19.04-rc1 | commit e29b8228a2... | Dave Wallace | 6 years | |
v19.01.1 | commit cbd68cb711... | Dave Wallace | 6 years | |
v19.01 | commit 67d9475ae3... | Andrew Yourtchenko | 6 years | |
v19.01-rc2 | commit 0cb68778ec... | Andrew Yourtchenko | 6 years | |
v19.01-rc1 | commit 3e2bc759f4... | Damjan Marion | 6 years | |
v19.04-rc0 | commit ef080e1f9b... | Andrew Yourtchenko | 6 years | |
v18.10 | commit 3a9a6f72d1... | Marco Varlese | 6 years | |
v18.10-rc2 | commit b3aff922ff... | Marco Varlese | 6 years | |
v19.01-rc0 | commit 4f611176e9... | Marco Varlese | 6 years | |
v18.10-rc1 | commit 90395743d3... | Marco Varlese | 6 years | |
v18.07.1 | commit 55fbdb9941... | Ed Warnicke | 6 years | |
v18.07 | commit db6d6b3058... | Ed Warnicke | 6 years | |
v18.07-rc2 | commit c16a23c596... | Ed Warnicke | 6 years | |
v18.10-rc0 | commit 0e6f4d6af4... | Ed Warnicke | 6 years | |
v18.07-rc0 | commit 3e21eba4d2... | Ed Warnicke | 6 years | |
v18.07-rc1 | commit e400a6d1a5... | Ed Warnicke | 6 years | |
v18.01.2 | commit 540b31ac8f... | Dave Wallace | 7 years | |
v18.04 | commit ac2b7363f4... | Chris Luke | 7 years | |
v18.04-rc2 | commit 18744ee680... | Chris Luke | 7 years | |
v18.04-rc1 | commit 7ace56b9d8... | Chris Luke | 7 years | |
v18.01.1 | commit f13bac295d... | Dave Wallace | 7 years | |
v18.01 | commit 9d21268d0a... | Dave Wallace | 7 years | |
v18.01-rc2 | commit bbdfeaebf2... | Dave Wallace | 7 years | |
v18.01-rc1 | commit 8c2bacde4f... | Dave Wallace | 7 years | |
v18.04-rc0 | commit a3a6ec63d3... | Dave Wallace | 7 years | |
v17.10 | commit 116af2170e... | Florin Coras | 7 years | |
v17.10-rc2 | commit cf6c343710... | Florin Coras | 7 years | |
v18.01-rc0 | commit 75a17ecddc... | Florin Coras | 7 years | |
v17.10-rc1 | commit 7ea28045aa... | Florin Coras | 7 years | |
v17.07.01 | commit 839fa732c1... | Neale Ranns | 7 years | |
v17.07 | commit f4f635e7c0... | Neale Ranns | 7 years | |
v17.07-rc2 | commit 01d2b4b13a... | Neale Ranns | 8 years | |
v17.10-rc0 | commit cdc74273df... | Neale Ranns | 8 years | |
v17.07-rc1 | commit ea89b8cf66... | Neale Ranns | 8 years | |
v17.04.2 | commit fc69a97116... | Ole Troan | 8 years | |
v17.04.1 | commit 7d68ec6134... | Ole Troan | 8 years | |
v17.04 | commit 511ee63cbb... | Ole Troan | 8 years | |
v17.04-rc2 | commit 92bcecfdcc... | Ole Troan | 8 years | |
v17.07-rc0 | commit 87edd671d7... | Ole Troan | 8 years | |
v17.04-rc1 | commit cb92fc6edc... | Ole Troan | 8 years | |
v17.01.1 | commit 8099e90346... | Damjan Marion | 8 years | |
v17.01 | commit cd111b2228... | Damjan Marion | 8 years | |
v17.01-rc2 | commit 235c64f067... | Damjan Marion | 8 years | |
v17.04-rc0 | commit 2e70d8b31d... | Damjan Marion | 8 years | |
v17.01-rc1 | commit 436b319354... | Damjan Marion | 8 years | |
v17.01-rc0 | commit 931be3aca2... | Ed Warnicke | 8 years | |
v16.09 | commit 21bc8624f5... | Keith Burns (alagalah) | 8 years | |
v16.09-rc2 | commit 08377f8ff7... | Keith Burns (alagalah) | 8 years | |
v16.12-rc0 | commit 694265d4f1... | Dave Barach | 8 years | |
v16.09-rc1 | commit dbc6e3f0bb... | Dave Barach | 8 years | |
v16.06 | commit 693f4358de... | Ed Warnicke | 9 years | |
v16.06-rc3 | commit cf6511560e... | Dave Barach | 9 years | |
v16.06-rc2 | commit b98a3a87a9... | Dave Barach | 9 years | |
v16.09-rc0 | commit 862623da6e... | Ed Warnicke | 9 years | |
v16.06-rc1 | commit 826d4f7b1f... | Ed Warnicke | 9 years | |
v1.0.0 | commit cb9cadad57... | Ed Warnicke | 9 years |