add padding to the end of structure
Commit 538a84e1 ("provide padded structure for table_{key|leaf}_desc API") added explicit padding, if needed, before every structure member. This is not enough as if an array of elements are returned from C++ to python side, the size of structure must be correct. This patch also adds padding after the last structure field to make structure size in python side consistent with C++ side. With this patch, I experimented with the pull request for tcpretrans.py by Matthias Tafelmeier, the type struct ipv6_flow_key_t { unsigned __int128 saddr; unsigned __int128 daddr; u64 lport; u64 dport; } can be replaced with struct ipv6_flow_key_t { unsigned __int128 saddr; unsigned __int128 daddr; u16 lport; u16 dport; } where the original type of lport/dport is u16. Some other ipv6 related data structures can also be simplified. Signed-off-by: Yonghong Song <yhs@fb.com>
Showing
Please register or sign in to comment