Lines Matching +full:ptp +full:- +full:ref

1 .. SPDX-License-Identifier: GPL-2.0
14 For example, a device acting as a multicast-aware bridge must be able to send
31 The ``devlink-trap`` mechanism allows capable device drivers to register their
35 Upon receiving trapped packets, ``devlink`` will perform a per-trap packets and
38 port). This is especially useful for drop traps (see :ref:`Trap-Types`)
42 The following diagram provides a general overview of ``devlink-trap``::
49 +---------------------------------------------------+
52 +-------+--------+
56 +-------^--------+
58 | Non-control traps
60 +----+----+
62 | devlink | (non-drop traps)
64 +----^----+ ^
66 +-----------+
68 +-------+-------+
72 +-------^-------+
74 +---------------------------------------------------+
78 +--+---+
82 +------+
84 .. _Trap-Types:
89 The ``devlink-trap`` mechanism supports the following packet trap types:
93 The trap action (see :ref:`Trap-Actions`) can be changed.
107 .. _Trap-Actions:
112 The ``devlink-trap`` mechanism supports the following packet trap actions:
123 Generic packet traps are used to describe traps that trap well-defined packets
124 or packets that are trapped due to well-defined conditions (e.g., TTL error).
128 .. list-table:: List of Generic Packet Traps
131 * - Name
132 - Type
133 - Description
134 * - ``source_mac_is_multicast``
135 - ``drop``
136 - Traps incoming packets that the device decided to drop because of a
138 * - ``vlan_tag_mismatch``
139 - ``drop``
140 - Traps incoming packets that the device decided to drop in case of VLAN
142 the packet is untagged or prio-tagged
143 * - ``ingress_vlan_filter``
144 - ``drop``
145 - Traps incoming packets that the device decided to drop in case they are
147 * - ``ingress_spanning_tree_filter``
148 - ``drop``
149 - Traps incoming packets that the device decided to drop in case the STP
151 * - ``port_list_is_empty``
152 - ``drop``
153 - Traps packets that the device decided to drop in case they need to be
156 * - ``port_loopback_filter``
157 - ``drop``
158 - Traps packets that the device decided to drop in case after layer 2
161 * - ``blackhole_route``
162 - ``drop``
163 - Traps packets that the device decided to drop in case they hit a
165 * - ``ttl_value_is_too_small``
166 - ``exception``
167 - Traps unicast packets that should be forwarded by the device whose TTL
169 * - ``tail_drop``
170 - ``drop``
171 - Traps packets that the device decided to drop because they could not be
173 * - ``non_ip``
174 - ``drop``
175 - Traps packets that the device decided to drop because they need to
177 * - ``uc_dip_over_mc_dmac``
178 - ``drop``
179 - Traps packets that the device decided to drop because they need to be
182 * - ``dip_is_loopback_address``
183 - ``drop``
184 - Traps packets that the device decided to drop because they need to be
187 * - ``sip_is_mc``
188 - ``drop``
189 - Traps packets that the device decided to drop because they need to be
191 * - ``sip_is_loopback_address``
192 - ``drop``
193 - Traps packets that the device decided to drop because they need to be
195 * - ``ip_header_corrupted``
196 - ``drop``
197 - Traps packets that the device decided to drop because they need to be
200 * - ``ipv4_sip_is_limited_bc``
201 - ``drop``
202 - Traps packets that the device decided to drop because they need to be
204 * - ``ipv6_mc_dip_reserved_scope``
205 - ``drop``
206 - Traps IPv6 packets that the device decided to drop because they need to
209 * - ``ipv6_mc_dip_interface_local_scope``
210 - ``drop``
211 - Traps IPv6 packets that the device decided to drop because they need to
212 be routed and their IPv6 multicast destination IP has an interface-local scope
214 * - ``mtu_value_is_too_small``
215 - ``exception``
216 - Traps packets that should have been routed by the device, but were bigger
218 * - ``unresolved_neigh``
219 - ``exception``
220 - Traps packets that did not have a matching IP neighbour after routing
221 * - ``mc_reverse_path_forwarding``
222 - ``exception``
223 - Traps multicast IP packets that failed reverse-path forwarding (RPF)
225 * - ``reject_route``
226 - ``exception``
227 - Traps packets that hit reject routes (i.e., "unreachable", "prohibit")
228 * - ``ipv4_lpm_miss``
229 - ``exception``
230 - Traps unicast IPv4 packets that did not match any route
231 * - ``ipv6_lpm_miss``
232 - ``exception``
233 - Traps unicast IPv6 packets that did not match any route
234 * - ``non_routable_packet``
235 - ``drop``
236 - Traps packets that the device decided to drop because they are not
240 * - ``decap_error``
241 - ``exception``
242 - Traps NVE and IPinIP packets that the device decided to drop because of
245 * - ``overlay_smac_is_mc``
246 - ``drop``
247 - Traps NVE packets that the device decided to drop because their overlay
249 * - ``ingress_flow_action_drop``
250 - ``drop``
251 - Traps packets dropped during processing of ingress flow action drop
252 * - ``egress_flow_action_drop``
253 - ``drop``
254 - Traps packets dropped during processing of egress flow action drop
255 * - ``stp``
256 - ``control``
257 - Traps STP packets
258 * - ``lacp``
259 - ``control``
260 - Traps LACP packets
261 * - ``lldp``
262 - ``control``
263 - Traps LLDP packets
264 * - ``igmp_query``
265 - ``control``
266 - Traps IGMP Membership Query packets
267 * - ``igmp_v1_report``
268 - ``control``
269 - Traps IGMP Version 1 Membership Report packets
270 * - ``igmp_v2_report``
271 - ``control``
272 - Traps IGMP Version 2 Membership Report packets
273 * - ``igmp_v3_report``
274 - ``control``
275 - Traps IGMP Version 3 Membership Report packets
276 * - ``igmp_v2_leave``
277 - ``control``
278 - Traps IGMP Version 2 Leave Group packets
279 * - ``mld_query``
280 - ``control``
281 - Traps MLD Multicast Listener Query packets
282 * - ``mld_v1_report``
283 - ``control``
284 - Traps MLD Version 1 Multicast Listener Report packets
285 * - ``mld_v2_report``
286 - ``control``
287 - Traps MLD Version 2 Multicast Listener Report packets
288 * - ``mld_v1_done``
289 - ``control``
290 - Traps MLD Version 1 Multicast Listener Done packets
291 * - ``ipv4_dhcp``
292 - ``control``
293 - Traps IPv4 DHCP packets
294 * - ``ipv6_dhcp``
295 - ``control``
296 - Traps IPv6 DHCP packets
297 * - ``arp_request``
298 - ``control``
299 - Traps ARP request packets
300 * - ``arp_response``
301 - ``control``
302 - Traps ARP response packets
303 * - ``arp_overlay``
304 - ``control``
305 - Traps NVE-decapsulated ARP packets that reached the overlay network.
308 * - ``ipv6_neigh_solicit``
309 - ``control``
310 - Traps IPv6 Neighbour Solicitation packets
311 * - ``ipv6_neigh_advert``
312 - ``control``
313 - Traps IPv6 Neighbour Advertisement packets
314 * - ``ipv4_bfd``
315 - ``control``
316 - Traps IPv4 BFD packets
317 * - ``ipv6_bfd``
318 - ``control``
319 - Traps IPv6 BFD packets
320 * - ``ipv4_ospf``
321 - ``control``
322 - Traps IPv4 OSPF packets
323 * - ``ipv6_ospf``
324 - ``control``
325 - Traps IPv6 OSPF packets
326 * - ``ipv4_bgp``
327 - ``control``
328 - Traps IPv4 BGP packets
329 * - ``ipv6_bgp``
330 - ``control``
331 - Traps IPv6 BGP packets
332 * - ``ipv4_vrrp``
333 - ``control``
334 - Traps IPv4 VRRP packets
335 * - ``ipv6_vrrp``
336 - ``control``
337 - Traps IPv6 VRRP packets
338 * - ``ipv4_pim``
339 - ``control``
340 - Traps IPv4 PIM packets
341 * - ``ipv6_pim``
342 - ``control``
343 - Traps IPv6 PIM packets
344 * - ``uc_loopback``
345 - ``control``
346 - Traps unicast packets that need to be routed through the same layer 3
349 * - ``local_route``
350 - ``control``
351 - Traps unicast packets that hit a local route and need to be locally
353 * - ``external_route``
354 - ``control``
355 - Traps packets that should be routed through an external interface (e.g.,
358 * - ``ipv6_uc_dip_link_local_scope``
359 - ``control``
360 - Traps unicast IPv6 packets that need to be routed and have a destination
361 IP address with a link-local scope (i.e., fe80::/10). The trap allows
362 device drivers to avoid programming link-local routes, but still receive
364 * - ``ipv6_dip_all_nodes``
365 - ``control``
366 - Traps IPv6 packets that their destination IP address is the "All Nodes
368 * - ``ipv6_dip_all_routers``
369 - ``control``
370 - Traps IPv6 packets that their destination IP address is the "All Routers
372 * - ``ipv6_router_solicit``
373 - ``control``
374 - Traps IPv6 Router Solicitation packets
375 * - ``ipv6_router_advert``
376 - ``control``
377 - Traps IPv6 Router Advertisement packets
378 * - ``ipv6_redirect``
379 - ``control``
380 - Traps IPv6 Redirect Message packets
381 * - ``ipv4_router_alert``
382 - ``control``
383 - Traps IPv4 packets that need to be routed and include the Router Alert
386 * - ``ipv6_router_alert``
387 - ``control``
388 - Traps IPv6 packets that need to be routed and include the Router Alert
389 option in their Hop-by-Hop extension header. Such packets need to be
392 * - ``ptp_event``
393 - ``control``
394 - Traps PTP time-critical event messages (Sync, Delay_req, Pdelay_Req and
396 * - ``ptp_general``
397 - ``control``
398 - Traps PTP general messages (Announce, Follow_Up, Delay_Resp,
400 * - ``flow_action_sample``
401 - ``control``
402 - Traps packets sampled during processing of flow action sample (e.g., via
404 * - ``flow_action_trap``
405 - ``control``
406 - Traps packets logged during processing of flow action trap (e.g., via
408 * - ``early_drop``
409 - ``drop``
410 - Traps packets dropped due to the RED (Random Early Detection) algorithm
412 * - ``vxlan_parsing``
413 - ``drop``
414 - Traps packets dropped due to an error in the VXLAN header parsing which
416 * - ``llc_snap_parsing``
417 - ``drop``
418 - Traps packets dropped due to an error in the LLC+SNAP header parsing
419 * - ``vlan_parsing``
420 - ``drop``
421 - Traps packets dropped due to an error in the VLAN header parsing. Could
423 * - ``pppoe_ppp_parsing``
424 - ``drop``
425 - Traps packets dropped due to an error in the PPPoE+PPP header parsing.
429 * - ``mpls_parsing``
430 - ``drop``
431 - Traps packets dropped due to an error in the MPLS header parsing which
433 * - ``arp_parsing``
434 - ``drop``
435 - Traps packets dropped due to an error in the ARP header parsing
436 * - ``ip_1_parsing``
437 - ``drop``
438 - Traps packets dropped due to an error in the first IP header parsing.
443 * - ``ip_n_parsing``
444 - ``drop``
445 - Traps packets dropped due to an error in the parsing of the last IP
448 * - ``gre_parsing``
449 - ``drop``
450 - Traps packets dropped due to an error in the GRE header parsing
451 * - ``udp_parsing``
452 - ``drop``
453 - Traps packets dropped due to an error in the UDP header parsing.
457 * - ``tcp_parsing``
458 - ``drop``
459 - Traps packets dropped due to an error in the TCP header parsing.
462 * - ``ipsec_parsing``
463 - ``drop``
464 - Traps packets dropped due to an error in the IPSEC header parsing
465 * - ``sctp_parsing``
466 - ``drop``
467 - Traps packets dropped due to an error in the SCTP header parsing.
470 * - ``dccp_parsing``
471 - ``drop``
472 - Traps packets dropped due to an error in the DCCP header parsing
473 * - ``gtp_parsing``
474 - ``drop``
475 - Traps packets dropped due to an error in the GTP header parsing
476 * - ``esp_parsing``
477 - ``drop``
478 - Traps packets dropped due to an error in the ESP header parsing
479 * - ``blackhole_nexthop``
480 - ``drop``
481 - Traps packets that the device decided to drop in case they hit a
483 * - ``dmac_filter``
484 - ``drop``
485 - Traps incoming packets that the device decided to drop because
489 Driver-specific Packet Traps
492 Device drivers can register driver-specific packet traps, but these must be
493 clearly documented. Such traps can correspond to device-specific exceptions and
495 links to the description of driver-specific traps registered by various device
502 .. _Generic-Packet-Trap-Groups:
509 action of all member traps. In addition, ``devlink-trap`` can report aggregated
510 per-group packets and bytes statistics, in case per-trap statistics are too
513 .. list-table:: List of Generic Packet Trap Groups
516 * - Name
517 - Description
518 * - ``l2_drops``
519 - Contains packet traps for packets that were dropped by the device during
521 * - ``l3_drops``
522 - Contains packet traps for packets that were dropped by the device during
524 * - ``l3_exceptions``
525 - Contains packet traps for packets that hit an exception (e.g., TTL
527 * - ``buffer_drops``
528 - Contains packet traps for packets that were dropped by the device due to
530 * - ``tunnel_drops``
531 - Contains packet traps for packets that were dropped by the device during
533 * - ``acl_drops``
534 - Contains packet traps for packets that were dropped by the device during
536 * - ``stp``
537 - Contains packet traps for STP packets
538 * - ``lacp``
539 - Contains packet traps for LACP packets
540 * - ``lldp``
541 - Contains packet traps for LLDP packets
542 * - ``mc_snooping``
543 - Contains packet traps for IGMP and MLD packets required for multicast
545 * - ``dhcp``
546 - Contains packet traps for DHCP packets
547 * - ``neigh_discovery``
548 - Contains packet traps for neighbour discovery packets (e.g., ARP, IPv6
550 * - ``bfd``
551 - Contains packet traps for BFD packets
552 * - ``ospf``
553 - Contains packet traps for OSPF packets
554 * - ``bgp``
555 - Contains packet traps for BGP packets
556 * - ``vrrp``
557 - Contains packet traps for VRRP packets
558 * - ``pim``
559 - Contains packet traps for PIM packets
560 * - ``uc_loopback``
561 - Contains a packet trap for unicast loopback packets (i.e.,
562 ``uc_loopback``). This trap is singled-out because in cases such as
563 one-armed router it will be constantly triggered. To limit the impact on
566 * - ``local_delivery``
567 - Contains packet traps for packets that should be locally delivered after
570 * - ``external_delivery``
571 - Contains packet traps for packets that should be routed through an
574 * - ``ipv6``
575 - Contains packet traps for various IPv6 control packets (e.g., Router
577 * - ``ptp_event``
578 - Contains packet traps for PTP time-critical event messages (Sync,
580 * - ``ptp_general``
581 - Contains packet traps for PTP general messages (Announce, Follow_Up,
583 * - ``acl_sample``
584 - Contains packet traps for packets that were sampled by the device during
586 * - ``acl_trap``
587 - Contains packet traps for packets that were trapped (logged) by the
589 * - ``parser_error_drops``
590 - Contains packet traps for packets that were marked by the device during
605 The ``devlink-trap`` mechanism allows capable device drivers to register their
608 :ref:`Generic-Packet-Trap-Groups`) during its initialization, thereby exposing
626 Device drivers should focus their tests on device-specific functionality, such