Lines Matching +full:x +full:- +full:forwarded +full:- +full:for
2 * Copyright (c) 2007 - Andrey "nording" Chernyak <andrew@nording.ru>
18 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
23 * tag information to a host CPU for a switch.
26 /* \summary: printer for various Realtek protocols */
32 #include "netdissect-stdinc.h"
38 #define RTL_PROTOCOL_OFFSET 0 /* Protocol and possibly other data - 1 byte */
44 #define RTL_PROTOCOL_XXX_DSA 0x04 /* DSA protocol for some chip(s) */
47 * Values for the upper 4 bits of the protocol field, for
54 * for the RTL8306 DSA protocol tag format.
59 #define RRCP_OPCODE_ISREPLY_OFFSET 1 /* opcode and isreply flag - 1 byte */
68 #define RRCP_AUTHKEY_OFFSET 2 /* authorization key - 2 bytes, 0x2379 by default */
71 #define RRCP_REG_ADDR_OFFSET 4 /* register address - 2 bytes */
72 #define RRCP_REG_DATA_OFFSET 6 /* register data - 4 bytes */
93 * See, for example, section 8.20 "Realtek Remote Control Protocol" of
105 * for information on RRCP.
113 ndo->ndo_protocol = "rrcp"; in rrcp_print()
117 tok2str(opcode_values,"unknown opcode (0x%02x)",rrcp_opcode)); in rrcp_print()
120 ND_PRINT(" addr=0x%04x, data=0x%08x", in rrcp_print()
124 ND_PRINT(", auth=0x%04x", in rrcp_print()
128 ND_PRINT(" downlink_port=%u, uplink_port=%u, uplink_mac=%s, vendor_id=%08x ,chip_id=%04x ", in rrcp_print()
136 ND_PRINT(", cookie=0x%08x%08x ", in rrcp_print()
145 * See, for example, section 8.22 "Realtek Echo Protocol" of
153 * for information on REP.
163 * for information on RLDP.
167 * http://www.ibselectronics.com/ibsstore/datasheet/RTL8306E-CG.pdf
169 * (revision 1.1 of the RTL8306E-CG datasheet), which describes a loop
170 * detection protocol for which the payload has a 16-bit (presumably
171 * big-endian) field containing the value 0x0300, followed by what is
172 * presumably a 16-bit big-endian field the upper 12 bits of which are 0
181 * loop detection protocol that lacks the TTL field - all the bytes
186 * https://datasheet.lcsc.com/lcsc/1810221720_Realtek-Semicon-RTL8305NB-CG_C52146.pdf
188 * (revision 1.0 of the RTL8305NB-CT datasheet), which describes a loop
189 * detection protocol similar to the one from the RTL8306E-CG datasheet,
196 * Ethernet header (possibly the originator, in case the packet is forwarded,
197 * in which case the forwarded packets won't have the source address from
199 * zeroes for all such packets in one capture, 0x01 followed by zeroes for
200 * all such packets in another capture, 0x07 followed by 0x20's for all
216 ndo->ndo_protocol = "rtl"; in rtl_print()
220 (src->addr_string)(ndo, src->addr), in rtl_print()
221 (dst->addr_string)(ndo, dst->addr)); in rtl_print()
237 * (XXX - except when they do? See above.) in rtl_print()
241 ND_PRINT("Realtek 8-byte DSA tag"); in rtl_print()
243 ND_PRINT("Realtek RTL8306 4-byte DSA tag"); in rtl_print()
245 ND_PRINT("Realtek RTL8366RB 4-byte DSA tag"); in rtl_print()
247 ND_PRINT("Realtek unknown type 0x%02x", rtl_proto); in rtl_print()