diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/sunrpc/msg_prot.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/include/linux/sunrpc/msg_prot.h b/include/linux/sunrpc/msg_prot.h index c4beb5775111..70df4f1d8847 100644 --- a/include/linux/sunrpc/msg_prot.h +++ b/include/linux/sunrpc/msg_prot.h | |||
| @@ -152,5 +152,44 @@ typedef __be32 rpc_fraghdr; | |||
| 152 | */ | 152 | */ |
| 153 | #define RPCBIND_MAXNETIDLEN (4u) | 153 | #define RPCBIND_MAXNETIDLEN (4u) |
| 154 | 154 | ||
| 155 | /* | ||
| 156 | * Universal addresses are introduced in RFC 1833 and further spelled | ||
| 157 | * out in RFC 3530. RPCBIND_MAXUADDRLEN defines a maximum byte length | ||
| 158 | * of a universal address for use in allocating buffers and character | ||
| 159 | * arrays. | ||
| 160 | * | ||
| 161 | * Quoting RFC 3530, section 2.2: | ||
| 162 | * | ||
| 163 | * For TCP over IPv4 and for UDP over IPv4, the format of r_addr is the | ||
| 164 | * US-ASCII string: | ||
| 165 | * | ||
| 166 | * h1.h2.h3.h4.p1.p2 | ||
| 167 | * | ||
| 168 | * The prefix, "h1.h2.h3.h4", is the standard textual form for | ||
| 169 | * representing an IPv4 address, which is always four octets long. | ||
| 170 | * Assuming big-endian ordering, h1, h2, h3, and h4, are respectively, | ||
| 171 | * the first through fourth octets each converted to ASCII-decimal. | ||
| 172 | * Assuming big-endian ordering, p1 and p2 are, respectively, the first | ||
| 173 | * and second octets each converted to ASCII-decimal. For example, if a | ||
| 174 | * host, in big-endian order, has an address of 0x0A010307 and there is | ||
| 175 | * a service listening on, in big endian order, port 0x020F (decimal | ||
| 176 | * 527), then the complete universal address is "10.1.3.7.2.15". | ||
| 177 | * | ||
| 178 | * ... | ||
| 179 | * | ||
| 180 | * For TCP over IPv6 and for UDP over IPv6, the format of r_addr is the | ||
| 181 | * US-ASCII string: | ||
| 182 | * | ||
| 183 | * x1:x2:x3:x4:x5:x6:x7:x8.p1.p2 | ||
| 184 | * | ||
| 185 | * The suffix "p1.p2" is the service port, and is computed the same way | ||
| 186 | * as with universal addresses for TCP and UDP over IPv4. The prefix, | ||
| 187 | * "x1:x2:x3:x4:x5:x6:x7:x8", is the standard textual form for | ||
| 188 | * representing an IPv6 address as defined in Section 2.2 of [RFC2373]. | ||
| 189 | * Additionally, the two alternative forms specified in Section 2.2 of | ||
| 190 | * [RFC2373] are also acceptable. | ||
| 191 | */ | ||
| 192 | #define RPCBIND_MAXUADDRLEN (56u) | ||
| 193 | |||
| 155 | #endif /* __KERNEL__ */ | 194 | #endif /* __KERNEL__ */ |
| 156 | #endif /* _LINUX_SUNRPC_MSGPROT_H_ */ | 195 | #endif /* _LINUX_SUNRPC_MSGPROT_H_ */ |
