Go to the source code of this file.
|
static u8 * | format_lip_punt_trace (u8 *s, va_list *args) |
|
| while (n_left_from > 0) |
|
static u8 * | format_lcp_punt_l3_trace (u8 *s, va_list *args) |
|
| VNET_FEATURE_INIT (lcp_punt_l3_ip4, static) |
|
| VNET_FEATURE_INIT (lip_punt_l3_ip6, static) |
|
static u8 * | format_lcp_xc_trace (u8 *s, va_list *args) |
|
static_always_inline u32 | lcp_xc_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, ip_address_family_t af) |
| X-connect all packets from the HOST to the PHY. More...
|
|
| VNET_FEATURE_INIT (lcp_xc_ip4_ucast_node, static) |
|
| VNET_FEATURE_INIT (lcp_xc_ip4_mcast_node, static) |
|
| VNET_FEATURE_INIT (lcp_xc_ip6_ucast_node, static) |
|
| VNET_FEATURE_INIT (lcp_xc_ip6_mcast_node, static) |
|
static_always_inline u32 | lcp_xc_l3_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, ip_address_family_t af) |
| X-connect all packets from the HOST to the PHY on L3 interfaces. More...
|
|
| VNET_FEATURE_INIT (lcp_xc_node_l3_ip4_unicast, static) |
|
| VNET_FEATURE_INIT (lcp_xc_node_l3_ip4_multicaast, static) |
|
| VNET_FEATURE_INIT (lcp_xc_node_l3_ip6_unicast, static) |
|
| VNET_FEATURE_INIT (lcp_xc_node_l3_ip6_multicast, static) |
|
static u8 * | format_lcp_arp_trace (u8 *s, va_list *args) |
|
| if (n_copies) |
| (constructor) VLIB_REGISTER_NODE (lcp_arp_phy_node) More...
|
|
| VNET_FEATURE_INIT (lcp_arp_phy_arp_feat, static) |
|
| VNET_FEATURE_INIT (lcp_arp_host_arp_feat, static) |
|
◆ foreach_lcp_arp
Value:
_ (IO, "interface-output")
Definition at line 577 of file lcp_node.c.
◆ foreach_lcp_punt_l3
#define foreach_lcp_punt_l3 _ (DROP, "unknown error") |
◆ foreach_lcp_xc
Value:
_ (XC_IP4, "x-connnect-ip4") \
_ (XC_IP6, "x-connnect-ip6")
Definition at line 274 of file lcp_node.c.
◆ foreach_lip_punt
Value: _ (IO, "punt to host") \
_ (
DROP,
"unknown input interface")
Definition at line 35 of file lcp_node.c.
◆ lcp_arp_trace_t
◆ lcp_punt_l3_trace_t
◆ lcp_xc_trace_t
◆ lip_punt_trace_t
◆ lcp_arp_next_t
◆ lcp_punt_l3_next_t
Enumerator |
---|
LCP_LOCAL_N_NEXT | |
Definition at line 162 of file lcp_node.c.
◆ lcp_xc_l3_next_t
Enumerator |
---|
LCP_XC_L3_NEXT_XC | |
LCP_XC_L3_N_NEXT | |
Definition at line 444 of file lcp_node.c.
◆ lcp_xc_next_t
◆ lip_punt_next_t
Enumerator |
---|
LIP_PUNT_N_NEXT | |
Definition at line 39 of file lcp_node.c.
◆ format_lcp_arp_trace()
static u8* format_lcp_arp_trace |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
|
static |
◆ format_lcp_punt_l3_trace()
static u8* format_lcp_punt_l3_trace |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
|
static |
◆ format_lcp_xc_trace()
static u8* format_lcp_xc_trace |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
|
static |
◆ format_lip_punt_trace()
static u8* format_lip_punt_trace |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
|
static |
◆ if()
(constructor) VLIB_REGISTER_NODE (lcp_arp_phy_node)
Definition at line 800 of file lcp_node.c.
◆ lcp_xc_inline()
X-connect all packets from the HOST to the PHY.
This runs in either the IP4 or IP6 path. The MAC rewrite on the received packet from the host is used as a key to find the adjacency used on the phy. This allows this code to start the feature arc on that adjacency. Consequently, all packet sent from the host are also subject to output features, which is symmetric w.r.t. to input features.
Definition at line 316 of file lcp_node.c.
◆ lcp_xc_l3_inline()
X-connect all packets from the HOST to the PHY on L3 interfaces.
There's only one adjacency that can be used on thises links.
Definition at line 456 of file lcp_node.c.
◆ VNET_FEATURE_INIT() [1/12]
VNET_FEATURE_INIT |
( |
lcp_arp_host_arp_feat |
, |
|
|
static |
|
|
) |
| |
◆ VNET_FEATURE_INIT() [2/12]
VNET_FEATURE_INIT |
( |
lcp_arp_phy_arp_feat |
, |
|
|
static |
|
|
) |
| |
◆ VNET_FEATURE_INIT() [3/12]
VNET_FEATURE_INIT |
( |
lcp_punt_l3_ip4 |
, |
|
|
static |
|
|
) |
| |
◆ VNET_FEATURE_INIT() [4/12]
VNET_FEATURE_INIT |
( |
lcp_xc_ip4_mcast_node |
, |
|
|
static |
|
|
) |
| |
◆ VNET_FEATURE_INIT() [5/12]
VNET_FEATURE_INIT |
( |
lcp_xc_ip4_ucast_node |
, |
|
|
static |
|
|
) |
| |
◆ VNET_FEATURE_INIT() [6/12]
VNET_FEATURE_INIT |
( |
lcp_xc_ip6_mcast_node |
, |
|
|
static |
|
|
) |
| |
◆ VNET_FEATURE_INIT() [7/12]
VNET_FEATURE_INIT |
( |
lcp_xc_ip6_ucast_node |
, |
|
|
static |
|
|
) |
| |
◆ VNET_FEATURE_INIT() [8/12]
VNET_FEATURE_INIT |
( |
lcp_xc_node_l3_ip4_multicaast |
, |
|
|
static |
|
|
) |
| |
◆ VNET_FEATURE_INIT() [9/12]
VNET_FEATURE_INIT |
( |
lcp_xc_node_l3_ip4_unicast |
, |
|
|
static |
|
|
) |
| |
◆ VNET_FEATURE_INIT() [10/12]
VNET_FEATURE_INIT |
( |
lcp_xc_node_l3_ip6_multicast |
, |
|
|
static |
|
|
) |
| |
◆ VNET_FEATURE_INIT() [11/12]
VNET_FEATURE_INIT |
( |
lcp_xc_node_l3_ip6_unicast |
, |
|
|
static |
|
|
) |
| |
◆ VNET_FEATURE_INIT() [12/12]
VNET_FEATURE_INIT |
( |
lip_punt_l3_ip6 |
, |
|
|
static |
|
|
) |
| |
◆ while()
◆ frame
◆ from
◆ lcp_arp_host_node
Initial value:= {
.name = "linux-cp-arp-host",
.vector_size =
sizeof (
u32),
.n_errors = LINUXCP_N_ERROR,
.error_counters = linuxcp_error_counters,
.next_nodes = {
[LCP_ARP_NEXT_DROP] = "error-drop",
[LCP_ARP_NEXT_IO] = "interface-output",
},
}
(constructor) VLIB_REGISTER_NODE (lcp_arp_host_node)
Definition at line 891 of file lcp_node.c.
◆ lcp_punt_l3_node
Initial value:= {
.name = "linux-cp-punt-l3",
.vector_size =
sizeof (
u32),
.n_next_nodes = 1,
.next_nodes = {
[LCP_LOCAL_NEXT_DROP] = "error-drop",
},
}
(constructor) VLIB_REGISTER_NODE (lcp_punt_l3_node)
Definition at line 250 of file lcp_node.c.
◆ lcp_xc_ip4
Initial value:= { .name = "linux-cp-xc-ip4",
.vector_size =
sizeof (
u32),
.sibling_of = "ip4-rewrite" }
(constructor) VLIB_REGISTER_NODE (lcp_xc_ip4)
Definition at line 414 of file lcp_node.c.
◆ lcp_xc_ip6
Initial value:= { .name = "linux-cp-xc-ip6",
.vector_size =
sizeof (
u32),
.sibling_of = "ip6-rewrite" }
(constructor) VLIB_REGISTER_NODE (lcp_xc_ip6)
Definition at line 429 of file lcp_node.c.
◆ lcp_xc_l3_ip4_node
Initial value:= {
.name = "linux-cp-xc-l3-ip4",
.vector_size =
sizeof (
u32),
.next_nodes = {
},
}
(constructor) VLIB_REGISTER_NODE (lcp_xc_l3_ip4_node)
Definition at line 533 of file lcp_node.c.
◆ lcp_xc_l3_ip6_node
Initial value:= {
.name = "linux-cp-xc-l3-ip6",
.vector_size =
sizeof (
u32),
.next_nodes = {
},
}
(constructor) VLIB_REGISTER_NODE (lcp_xc_l3_ip6_node)
Definition at line 555 of file lcp_node.c.
◆ lip_punt_node
Initial value:= {
.name = "linux-cp-punt",
.vector_size =
sizeof (
u32),
.next_nodes = {
[LIP_PUNT_NEXT_DROP] = "error-drop",
[LIP_PUNT_NEXT_IO] = "interface-output",
},
}
(constructor) VLIB_REGISTER_NODE (lip_punt_node)
Definition at line 147 of file lcp_node.c.
◆ n_copies
◆ n_left_from
◆ n_vectors
◆ next_index
next_index = node->cached_next_index |
◆ node
◆ reply_copies
◆ vm
Pass punted packets from the PHY to the HOST.
x-connect ARP packets from the host to the phy
punt ARP replies to the host
X-connect all packets from the HOST to the PHY.
Definition at line 71 of file lcp_node.c.