/linux/tools/net/sunrpc/xdrgen/templates/C/pointer/encoder/ |
H A D | basic.j2 | 4b132aacb0768ac1e652cf517097ea6f237214b9 Fri Sep 13 20:08:13 CEST 2024 Chuck Lever <chuck.lever@oracle.com> tools: Add xdrgen
Add a Python-based tool for translating XDR specifications into XDR encoder and decoder functions written in the Linux kernel's C coding style. The generator attempts to match the usual C coding style of the Linux kernel's SunRPC consumers.
This approach is similar to the netlink code generator in tools/net/ynl .
The maintainability benefits of machine-generated XDR code include:
- Stronger type checking - Reduces the number of bugs introduced by human error - Makes the XDR code easier to audit and analyze - Enables rapid prototyping of new RPC-based protocols - Hardens the layering between protocol logic and marshaling - Makes it easier to add observability on demand - Unit tests might be built for both the tool and (automatically) for the generated code
In addition, converting the XDR layer to use memory-safe languages such as Rust will be easier if much of the code can be converted automatically.
Tested-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|
H A D | open.j2 | 4b132aacb0768ac1e652cf517097ea6f237214b9 Fri Sep 13 20:08:13 CEST 2024 Chuck Lever <chuck.lever@oracle.com> tools: Add xdrgen
Add a Python-based tool for translating XDR specifications into XDR encoder and decoder functions written in the Linux kernel's C coding style. The generator attempts to match the usual C coding style of the Linux kernel's SunRPC consumers.
This approach is similar to the netlink code generator in tools/net/ynl .
The maintainability benefits of machine-generated XDR code include:
- Stronger type checking - Reduces the number of bugs introduced by human error - Makes the XDR code easier to audit and analyze - Enables rapid prototyping of new RPC-based protocols - Hardens the layering between protocol logic and marshaling - Makes it easier to add observability on demand - Unit tests might be built for both the tool and (automatically) for the generated code
In addition, converting the XDR layer to use memory-safe languages such as Rust will be easier if much of the code can be converted automatically.
Tested-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|
/linux/tools/net/sunrpc/xdrgen/templates/C/typedef/definition/ |
H A D | variable_length_array.j2 | 4b132aacb0768ac1e652cf517097ea6f237214b9 Fri Sep 13 20:08:13 CEST 2024 Chuck Lever <chuck.lever@oracle.com> tools: Add xdrgen
Add a Python-based tool for translating XDR specifications into XDR encoder and decoder functions written in the Linux kernel's C coding style. The generator attempts to match the usual C coding style of the Linux kernel's SunRPC consumers.
This approach is similar to the netlink code generator in tools/net/ynl .
The maintainability benefits of machine-generated XDR code include:
- Stronger type checking - Reduces the number of bugs introduced by human error - Makes the XDR code easier to audit and analyze - Enables rapid prototyping of new RPC-based protocols - Hardens the layering between protocol logic and marshaling - Makes it easier to add observability on demand - Unit tests might be built for both the tool and (automatically) for the generated code
In addition, converting the XDR layer to use memory-safe languages such as Rust will be easier if much of the code can be converted automatically.
Tested-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|
H A D | fixed_length_opaque.j2 | 4b132aacb0768ac1e652cf517097ea6f237214b9 Fri Sep 13 20:08:13 CEST 2024 Chuck Lever <chuck.lever@oracle.com> tools: Add xdrgen
Add a Python-based tool for translating XDR specifications into XDR encoder and decoder functions written in the Linux kernel's C coding style. The generator attempts to match the usual C coding style of the Linux kernel's SunRPC consumers.
This approach is similar to the netlink code generator in tools/net/ynl .
The maintainability benefits of machine-generated XDR code include:
- Stronger type checking - Reduces the number of bugs introduced by human error - Makes the XDR code easier to audit and analyze - Enables rapid prototyping of new RPC-based protocols - Hardens the layering between protocol logic and marshaling - Makes it easier to add observability on demand - Unit tests might be built for both the tool and (automatically) for the generated code
In addition, converting the XDR layer to use memory-safe languages such as Rust will be easier if much of the code can be converted automatically.
Tested-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|
H A D | fixed_length_array.j2 | 4b132aacb0768ac1e652cf517097ea6f237214b9 Fri Sep 13 20:08:13 CEST 2024 Chuck Lever <chuck.lever@oracle.com> tools: Add xdrgen
Add a Python-based tool for translating XDR specifications into XDR encoder and decoder functions written in the Linux kernel's C coding style. The generator attempts to match the usual C coding style of the Linux kernel's SunRPC consumers.
This approach is similar to the netlink code generator in tools/net/ynl .
The maintainability benefits of machine-generated XDR code include:
- Stronger type checking - Reduces the number of bugs introduced by human error - Makes the XDR code easier to audit and analyze - Enables rapid prototyping of new RPC-based protocols - Hardens the layering between protocol logic and marshaling - Makes it easier to add observability on demand - Unit tests might be built for both the tool and (automatically) for the generated code
In addition, converting the XDR layer to use memory-safe languages such as Rust will be easier if much of the code can be converted automatically.
Tested-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|
/linux/tools/net/sunrpc/xdrgen/templates/C/enum/decoder/ |
H A D | enum.j2 | 4b132aacb0768ac1e652cf517097ea6f237214b9 Fri Sep 13 20:08:13 CEST 2024 Chuck Lever <chuck.lever@oracle.com> tools: Add xdrgen
Add a Python-based tool for translating XDR specifications into XDR encoder and decoder functions written in the Linux kernel's C coding style. The generator attempts to match the usual C coding style of the Linux kernel's SunRPC consumers.
This approach is similar to the netlink code generator in tools/net/ynl .
The maintainability benefits of machine-generated XDR code include:
- Stronger type checking - Reduces the number of bugs introduced by human error - Makes the XDR code easier to audit and analyze - Enables rapid prototyping of new RPC-based protocols - Hardens the layering between protocol logic and marshaling - Makes it easier to add observability on demand - Unit tests might be built for both the tool and (automatically) for the generated code
In addition, converting the XDR layer to use memory-safe languages such as Rust will be easier if much of the code can be converted automatically.
Tested-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|
/linux/tools/net/sunrpc/xdrgen/templates/C/typedef/decoder/ |
H A D | basic.j2 | 4b132aacb0768ac1e652cf517097ea6f237214b9 Fri Sep 13 20:08:13 CEST 2024 Chuck Lever <chuck.lever@oracle.com> tools: Add xdrgen
Add a Python-based tool for translating XDR specifications into XDR encoder and decoder functions written in the Linux kernel's C coding style. The generator attempts to match the usual C coding style of the Linux kernel's SunRPC consumers.
This approach is similar to the netlink code generator in tools/net/ynl .
The maintainability benefits of machine-generated XDR code include:
- Stronger type checking - Reduces the number of bugs introduced by human error - Makes the XDR code easier to audit and analyze - Enables rapid prototyping of new RPC-based protocols - Hardens the layering between protocol logic and marshaling - Makes it easier to add observability on demand - Unit tests might be built for both the tool and (automatically) for the generated code
In addition, converting the XDR layer to use memory-safe languages such as Rust will be easier if much of the code can be converted automatically.
Tested-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|
/linux/tools/net/sunrpc/xdrgen/generators/ |
H A D | header_top.py | 4b132aacb0768ac1e652cf517097ea6f237214b9 Fri Sep 13 20:08:13 CEST 2024 Chuck Lever <chuck.lever@oracle.com> tools: Add xdrgen
Add a Python-based tool for translating XDR specifications into XDR encoder and decoder functions written in the Linux kernel's C coding style. The generator attempts to match the usual C coding style of the Linux kernel's SunRPC consumers.
This approach is similar to the netlink code generator in tools/net/ynl .
The maintainability benefits of machine-generated XDR code include:
- Stronger type checking - Reduces the number of bugs introduced by human error - Makes the XDR code easier to audit and analyze - Enables rapid prototyping of new RPC-based protocols - Hardens the layering between protocol logic and marshaling - Makes it easier to add observability on demand - Unit tests might be built for both the tool and (automatically) for the generated code
In addition, converting the XDR layer to use memory-safe languages such as Rust will be easier if much of the code can be converted automatically.
Tested-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|
/linux/tools/net/sunrpc/xdrgen/templates/C/struct/definition/ |
H A D | fixed_length_array.j2 | 4b132aacb0768ac1e652cf517097ea6f237214b9 Fri Sep 13 20:08:13 CEST 2024 Chuck Lever <chuck.lever@oracle.com> tools: Add xdrgen
Add a Python-based tool for translating XDR specifications into XDR encoder and decoder functions written in the Linux kernel's C coding style. The generator attempts to match the usual C coding style of the Linux kernel's SunRPC consumers.
This approach is similar to the netlink code generator in tools/net/ynl .
The maintainability benefits of machine-generated XDR code include:
- Stronger type checking - Reduces the number of bugs introduced by human error - Makes the XDR code easier to audit and analyze - Enables rapid prototyping of new RPC-based protocols - Hardens the layering between protocol logic and marshaling - Makes it easier to add observability on demand - Unit tests might be built for both the tool and (automatically) for the generated code
In addition, converting the XDR layer to use memory-safe languages such as Rust will be easier if much of the code can be converted automatically.
Tested-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|
H A D | fixed_length_opaque.j2 | 4b132aacb0768ac1e652cf517097ea6f237214b9 Fri Sep 13 20:08:13 CEST 2024 Chuck Lever <chuck.lever@oracle.com> tools: Add xdrgen
Add a Python-based tool for translating XDR specifications into XDR encoder and decoder functions written in the Linux kernel's C coding style. The generator attempts to match the usual C coding style of the Linux kernel's SunRPC consumers.
This approach is similar to the netlink code generator in tools/net/ynl .
The maintainability benefits of machine-generated XDR code include:
- Stronger type checking - Reduces the number of bugs introduced by human error - Makes the XDR code easier to audit and analyze - Enables rapid prototyping of new RPC-based protocols - Hardens the layering between protocol logic and marshaling - Makes it easier to add observability on demand - Unit tests might be built for both the tool and (automatically) for the generated code
In addition, converting the XDR layer to use memory-safe languages such as Rust will be easier if much of the code can be converted automatically.
Tested-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|
H A D | close.j2 | 4b132aacb0768ac1e652cf517097ea6f237214b9 Fri Sep 13 20:08:13 CEST 2024 Chuck Lever <chuck.lever@oracle.com> tools: Add xdrgen
Add a Python-based tool for translating XDR specifications into XDR encoder and decoder functions written in the Linux kernel's C coding style. The generator attempts to match the usual C coding style of the Linux kernel's SunRPC consumers.
This approach is similar to the netlink code generator in tools/net/ynl .
The maintainability benefits of machine-generated XDR code include:
- Stronger type checking - Reduces the number of bugs introduced by human error - Makes the XDR code easier to audit and analyze - Enables rapid prototyping of new RPC-based protocols - Hardens the layering between protocol logic and marshaling - Makes it easier to add observability on demand - Unit tests might be built for both the tool and (automatically) for the generated code
In addition, converting the XDR layer to use memory-safe languages such as Rust will be easier if much of the code can be converted automatically.
Tested-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|
/linux/tools/net/sunrpc/xdrgen/templates/C/struct/encoder/ |
H A D | variable_length_string.j2 | 4b132aacb0768ac1e652cf517097ea6f237214b9 Fri Sep 13 20:08:13 CEST 2024 Chuck Lever <chuck.lever@oracle.com> tools: Add xdrgen
Add a Python-based tool for translating XDR specifications into XDR encoder and decoder functions written in the Linux kernel's C coding style. The generator attempts to match the usual C coding style of the Linux kernel's SunRPC consumers.
This approach is similar to the netlink code generator in tools/net/ynl .
The maintainability benefits of machine-generated XDR code include:
- Stronger type checking - Reduces the number of bugs introduced by human error - Makes the XDR code easier to audit and analyze - Enables rapid prototyping of new RPC-based protocols - Hardens the layering between protocol logic and marshaling - Makes it easier to add observability on demand - Unit tests might be built for both the tool and (automatically) for the generated code
In addition, converting the XDR layer to use memory-safe languages such as Rust will be easier if much of the code can be converted automatically.
Tested-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|
/linux/tools/net/sunrpc/xdrgen/templates/C/pointer/definition/ |
H A D | variable_length_string.j2 | 4b132aacb0768ac1e652cf517097ea6f237214b9 Fri Sep 13 20:08:13 CEST 2024 Chuck Lever <chuck.lever@oracle.com> tools: Add xdrgen
Add a Python-based tool for translating XDR specifications into XDR encoder and decoder functions written in the Linux kernel's C coding style. The generator attempts to match the usual C coding style of the Linux kernel's SunRPC consumers.
This approach is similar to the netlink code generator in tools/net/ynl .
The maintainability benefits of machine-generated XDR code include:
- Stronger type checking - Reduces the number of bugs introduced by human error - Makes the XDR code easier to audit and analyze - Enables rapid prototyping of new RPC-based protocols - Hardens the layering between protocol logic and marshaling - Makes it easier to add observability on demand - Unit tests might be built for both the tool and (automatically) for the generated code
In addition, converting the XDR layer to use memory-safe languages such as Rust will be easier if much of the code can be converted automatically.
Tested-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|
H A D | optional_data.j2 | 4b132aacb0768ac1e652cf517097ea6f237214b9 Fri Sep 13 20:08:13 CEST 2024 Chuck Lever <chuck.lever@oracle.com> tools: Add xdrgen
Add a Python-based tool for translating XDR specifications into XDR encoder and decoder functions written in the Linux kernel's C coding style. The generator attempts to match the usual C coding style of the Linux kernel's SunRPC consumers.
This approach is similar to the netlink code generator in tools/net/ynl .
The maintainability benefits of machine-generated XDR code include:
- Stronger type checking - Reduces the number of bugs introduced by human error - Makes the XDR code easier to audit and analyze - Enables rapid prototyping of new RPC-based protocols - Hardens the layering between protocol logic and marshaling - Makes it easier to add observability on demand - Unit tests might be built for both the tool and (automatically) for the generated code
In addition, converting the XDR layer to use memory-safe languages such as Rust will be easier if much of the code can be converted automatically.
Tested-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|
H A D | variable_length_opaque.j2 | 4b132aacb0768ac1e652cf517097ea6f237214b9 Fri Sep 13 20:08:13 CEST 2024 Chuck Lever <chuck.lever@oracle.com> tools: Add xdrgen
Add a Python-based tool for translating XDR specifications into XDR encoder and decoder functions written in the Linux kernel's C coding style. The generator attempts to match the usual C coding style of the Linux kernel's SunRPC consumers.
This approach is similar to the netlink code generator in tools/net/ynl .
The maintainability benefits of machine-generated XDR code include:
- Stronger type checking - Reduces the number of bugs introduced by human error - Makes the XDR code easier to audit and analyze - Enables rapid prototyping of new RPC-based protocols - Hardens the layering between protocol logic and marshaling - Makes it easier to add observability on demand - Unit tests might be built for both the tool and (automatically) for the generated code
In addition, converting the XDR layer to use memory-safe languages such as Rust will be easier if much of the code can be converted automatically.
Tested-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|
/linux/tools/net/sunrpc/xdrgen/templates/C/union/decoder/ |
H A D | basic.j2 | 4b132aacb0768ac1e652cf517097ea6f237214b9 Fri Sep 13 20:08:13 CEST 2024 Chuck Lever <chuck.lever@oracle.com> tools: Add xdrgen
Add a Python-based tool for translating XDR specifications into XDR encoder and decoder functions written in the Linux kernel's C coding style. The generator attempts to match the usual C coding style of the Linux kernel's SunRPC consumers.
This approach is similar to the netlink code generator in tools/net/ynl .
The maintainability benefits of machine-generated XDR code include:
- Stronger type checking - Reduces the number of bugs introduced by human error - Makes the XDR code easier to audit and analyze - Enables rapid prototyping of new RPC-based protocols - Hardens the layering between protocol logic and marshaling - Makes it easier to add observability on demand - Unit tests might be built for both the tool and (automatically) for the generated code
In addition, converting the XDR layer to use memory-safe languages such as Rust will be easier if much of the code can be converted automatically.
Tested-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|
/linux/tools/net/sunrpc/xdrgen/templates/C/enum/declaration/ |
H A D | close.j2 | 4b132aacb0768ac1e652cf517097ea6f237214b9 Fri Sep 13 20:08:13 CEST 2024 Chuck Lever <chuck.lever@oracle.com> tools: Add xdrgen
Add a Python-based tool for translating XDR specifications into XDR encoder and decoder functions written in the Linux kernel's C coding style. The generator attempts to match the usual C coding style of the Linux kernel's SunRPC consumers.
This approach is similar to the netlink code generator in tools/net/ynl .
The maintainability benefits of machine-generated XDR code include:
- Stronger type checking - Reduces the number of bugs introduced by human error - Makes the XDR code easier to audit and analyze - Enables rapid prototyping of new RPC-based protocols - Hardens the layering between protocol logic and marshaling - Makes it easier to add observability on demand - Unit tests might be built for both the tool and (automatically) for the generated code
In addition, converting the XDR layer to use memory-safe languages such as Rust will be easier if much of the code can be converted automatically.
Tested-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|
/linux/tools/net/sunrpc/xdrgen/templates/C/pointer/decoder/ |
H A D | variable_length_opaque.j2 | 4b132aacb0768ac1e652cf517097ea6f237214b9 Fri Sep 13 20:08:13 CEST 2024 Chuck Lever <chuck.lever@oracle.com> tools: Add xdrgen
Add a Python-based tool for translating XDR specifications into XDR encoder and decoder functions written in the Linux kernel's C coding style. The generator attempts to match the usual C coding style of the Linux kernel's SunRPC consumers.
This approach is similar to the netlink code generator in tools/net/ynl .
The maintainability benefits of machine-generated XDR code include:
- Stronger type checking - Reduces the number of bugs introduced by human error - Makes the XDR code easier to audit and analyze - Enables rapid prototyping of new RPC-based protocols - Hardens the layering between protocol logic and marshaling - Makes it easier to add observability on demand - Unit tests might be built for both the tool and (automatically) for the generated code
In addition, converting the XDR layer to use memory-safe languages such as Rust will be easier if much of the code can be converted automatically.
Tested-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|
H A D | basic.j2 | 4b132aacb0768ac1e652cf517097ea6f237214b9 Fri Sep 13 20:08:13 CEST 2024 Chuck Lever <chuck.lever@oracle.com> tools: Add xdrgen
Add a Python-based tool for translating XDR specifications into XDR encoder and decoder functions written in the Linux kernel's C coding style. The generator attempts to match the usual C coding style of the Linux kernel's SunRPC consumers.
This approach is similar to the netlink code generator in tools/net/ynl .
The maintainability benefits of machine-generated XDR code include:
- Stronger type checking - Reduces the number of bugs introduced by human error - Makes the XDR code easier to audit and analyze - Enables rapid prototyping of new RPC-based protocols - Hardens the layering between protocol logic and marshaling - Makes it easier to add observability on demand - Unit tests might be built for both the tool and (automatically) for the generated code
In addition, converting the XDR layer to use memory-safe languages such as Rust will be easier if much of the code can be converted automatically.
Tested-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|
H A D | variable_length_string.j2 | 4b132aacb0768ac1e652cf517097ea6f237214b9 Fri Sep 13 20:08:13 CEST 2024 Chuck Lever <chuck.lever@oracle.com> tools: Add xdrgen
Add a Python-based tool for translating XDR specifications into XDR encoder and decoder functions written in the Linux kernel's C coding style. The generator attempts to match the usual C coding style of the Linux kernel's SunRPC consumers.
This approach is similar to the netlink code generator in tools/net/ynl .
The maintainability benefits of machine-generated XDR code include:
- Stronger type checking - Reduces the number of bugs introduced by human error - Makes the XDR code easier to audit and analyze - Enables rapid prototyping of new RPC-based protocols - Hardens the layering between protocol logic and marshaling - Makes it easier to add observability on demand - Unit tests might be built for both the tool and (automatically) for the generated code
In addition, converting the XDR layer to use memory-safe languages such as Rust will be easier if much of the code can be converted automatically.
Tested-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|
/linux/tools/net/sunrpc/xdrgen/ |
H A D | xdrgen | 4b132aacb0768ac1e652cf517097ea6f237214b9 Fri Sep 13 20:08:13 CEST 2024 Chuck Lever <chuck.lever@oracle.com> tools: Add xdrgen
Add a Python-based tool for translating XDR specifications into XDR encoder and decoder functions written in the Linux kernel's C coding style. The generator attempts to match the usual C coding style of the Linux kernel's SunRPC consumers.
This approach is similar to the netlink code generator in tools/net/ynl .
The maintainability benefits of machine-generated XDR code include:
- Stronger type checking - Reduces the number of bugs introduced by human error - Makes the XDR code easier to audit and analyze - Enables rapid prototyping of new RPC-based protocols - Hardens the layering between protocol logic and marshaling - Makes it easier to add observability on demand - Unit tests might be built for both the tool and (automatically) for the generated code
In addition, converting the XDR layer to use memory-safe languages such as Rust will be easier if much of the code can be converted automatically.
Tested-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|
/linux/tools/net/sunrpc/xdrgen/templates/C/program/declaration/ |
H A D | result.j2 | 4b132aacb0768ac1e652cf517097ea6f237214b9 Fri Sep 13 20:08:13 CEST 2024 Chuck Lever <chuck.lever@oracle.com> tools: Add xdrgen
Add a Python-based tool for translating XDR specifications into XDR encoder and decoder functions written in the Linux kernel's C coding style. The generator attempts to match the usual C coding style of the Linux kernel's SunRPC consumers.
This approach is similar to the netlink code generator in tools/net/ynl .
The maintainability benefits of machine-generated XDR code include:
- Stronger type checking - Reduces the number of bugs introduced by human error - Makes the XDR code easier to audit and analyze - Enables rapid prototyping of new RPC-based protocols - Hardens the layering between protocol logic and marshaling - Makes it easier to add observability on demand - Unit tests might be built for both the tool and (automatically) for the generated code
In addition, converting the XDR layer to use memory-safe languages such as Rust will be easier if much of the code can be converted automatically.
Tested-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|
/linux/tools/net/sunrpc/xdrgen/templates/C/union/encoder/ |
H A D | open.j2 | 4b132aacb0768ac1e652cf517097ea6f237214b9 Fri Sep 13 20:08:13 CEST 2024 Chuck Lever <chuck.lever@oracle.com> tools: Add xdrgen
Add a Python-based tool for translating XDR specifications into XDR encoder and decoder functions written in the Linux kernel's C coding style. The generator attempts to match the usual C coding style of the Linux kernel's SunRPC consumers.
This approach is similar to the netlink code generator in tools/net/ynl .
The maintainability benefits of machine-generated XDR code include:
- Stronger type checking - Reduces the number of bugs introduced by human error - Makes the XDR code easier to audit and analyze - Enables rapid prototyping of new RPC-based protocols - Hardens the layering between protocol logic and marshaling - Makes it easier to add observability on demand - Unit tests might be built for both the tool and (automatically) for the generated code
In addition, converting the XDR layer to use memory-safe languages such as Rust will be easier if much of the code can be converted automatically.
Tested-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|
/linux/tools/net/sunrpc/xdrgen/templates/C/source_top/ |
H A D | client.j2 | 4b132aacb0768ac1e652cf517097ea6f237214b9 Fri Sep 13 20:08:13 CEST 2024 Chuck Lever <chuck.lever@oracle.com> tools: Add xdrgen
Add a Python-based tool for translating XDR specifications into XDR encoder and decoder functions written in the Linux kernel's C coding style. The generator attempts to match the usual C coding style of the Linux kernel's SunRPC consumers.
This approach is similar to the netlink code generator in tools/net/ynl .
The maintainability benefits of machine-generated XDR code include:
- Stronger type checking - Reduces the number of bugs introduced by human error - Makes the XDR code easier to audit and analyze - Enables rapid prototyping of new RPC-based protocols - Hardens the layering between protocol logic and marshaling - Makes it easier to add observability on demand - Unit tests might be built for both the tool and (automatically) for the generated code
In addition, converting the XDR layer to use memory-safe languages such as Rust will be easier if much of the code can be converted automatically.
Tested-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|
/linux/tools/net/sunrpc/xdrgen/templates/C/struct/decoder/ |
H A D | variable_length_opaque.j2 | 4b132aacb0768ac1e652cf517097ea6f237214b9 Fri Sep 13 20:08:13 CEST 2024 Chuck Lever <chuck.lever@oracle.com> tools: Add xdrgen
Add a Python-based tool for translating XDR specifications into XDR encoder and decoder functions written in the Linux kernel's C coding style. The generator attempts to match the usual C coding style of the Linux kernel's SunRPC consumers.
This approach is similar to the netlink code generator in tools/net/ynl .
The maintainability benefits of machine-generated XDR code include:
- Stronger type checking - Reduces the number of bugs introduced by human error - Makes the XDR code easier to audit and analyze - Enables rapid prototyping of new RPC-based protocols - Hardens the layering between protocol logic and marshaling - Makes it easier to add observability on demand - Unit tests might be built for both the tool and (automatically) for the generated code
In addition, converting the XDR layer to use memory-safe languages such as Rust will be easier if much of the code can be converted automatically.
Tested-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|