diff mbox series

xdrgen: Add a utility for extracting XDR from RFCs

Message ID 20241007180754.112429-1-cel@kernel.org (mailing list archive)
State New
Headers show
Series xdrgen: Add a utility for extracting XDR from RFCs | expand

Commit Message

Chuck Lever Oct. 7, 2024, 6:07 p.m. UTC
From: Chuck Lever <chuck.lever@oracle.com>

For convenience, copy the XDR extraction script from RFC

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
 tools/net/sunrpc/extract.sh | 10 ++++++++++
 1 file changed, 10 insertions(+)
 create mode 100755 tools/net/sunrpc/extract.sh

Comments

Jeff Layton Oct. 7, 2024, 6:17 p.m. UTC | #1
On Mon, 2024-10-07 at 14:07 -0400, cel@kernel.org wrote:
> From: Chuck Lever <chuck.lever@oracle.com>
> 
> For convenience, copy the XDR extraction script from RFC
> 
> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
> ---
>  tools/net/sunrpc/extract.sh | 10 ++++++++++
>  1 file changed, 10 insertions(+)
>  create mode 100755 tools/net/sunrpc/extract.sh
> 
> diff --git a/tools/net/sunrpc/extract.sh b/tools/net/sunrpc/extract.sh
> new file mode 100755
> index 000000000000..13b0036eaa81
> --- /dev/null
> +++ b/tools/net/sunrpc/extract.sh
> @@ -0,0 +1,10 @@
> +#! /bin/sh
> +#
> +# Extract an RPC protocol specification from an RFC document.
> +# The version of this script comes from RFC 8166.
> +#
> +# Usage:
> +#  $ extract.sh < rfcNNNN.txt > protocol.x
> +#
> +
> +grep '^ *///' | sed 's?^ */// ??' | sed 's?^ *///$??'

It might be nice to mention where to get the versions of the .txt files
that have the "///" annotation before the source code bits. Are those
available somewhere?

Reviewed-by: Jeff Layton <jlayton@kernel.org>
Chuck Lever III Oct. 7, 2024, 6:23 p.m. UTC | #2
> On Oct 7, 2024, at 2:17 PM, Jeff Layton <jlayton@kernel.org> wrote:
> 
> On Mon, 2024-10-07 at 14:07 -0400, cel@kernel.org wrote:
>> From: Chuck Lever <chuck.lever@oracle.com>
>> 
>> For convenience, copy the XDR extraction script from RFC
>> 
>> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
>> ---
>> tools/net/sunrpc/extract.sh | 10 ++++++++++
>> 1 file changed, 10 insertions(+)
>> create mode 100755 tools/net/sunrpc/extract.sh
>> 
>> diff --git a/tools/net/sunrpc/extract.sh b/tools/net/sunrpc/extract.sh
>> new file mode 100755
>> index 000000000000..13b0036eaa81
>> --- /dev/null
>> +++ b/tools/net/sunrpc/extract.sh
>> @@ -0,0 +1,10 @@
>> +#! /bin/sh
>> +#
>> +# Extract an RPC protocol specification from an RFC document.
>> +# The version of this script comes from RFC 8166.
>> +#
>> +# Usage:
>> +#  $ extract.sh < rfcNNNN.txt > protocol.x
>> +#
>> +
>> +grep '^ *///' | sed 's?^ */// ??' | sed 's?^ *///$??'
> 
> It might be nice to mention where to get the versions of the .txt files
> that have the "///" annotation before the source code bits. Are those
> available somewhere?

That kind of index would be appropriate to store under
Documentation/sunrpc/xdr/ .

Or you can edit the extracted .x file to include that
information as a comment, which is what I've been doing
when the extracted .x does not already have that
information. For example:

https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git/commit/?h=xdrgen&id=ea22fd02cf4aed2eb6dfaaeb5738dcca366c11de


--
Chuck Lever
diff mbox series

Patch

diff --git a/tools/net/sunrpc/extract.sh b/tools/net/sunrpc/extract.sh
new file mode 100755
index 000000000000..13b0036eaa81
--- /dev/null
+++ b/tools/net/sunrpc/extract.sh
@@ -0,0 +1,10 @@ 
+#! /bin/sh
+#
+# Extract an RPC protocol specification from an RFC document.
+# The version of this script comes from RFC 8166.
+#
+# Usage:
+#  $ extract.sh < rfcNNNN.txt > protocol.x
+#
+
+grep '^ *///' | sed 's?^ */// ??' | sed 's?^ *///$??'