Мне интересно, можно ли легко инициализировать карты BPF из python пространства пользователя. Для моего проекта у меня будет страшно выглядящий массив NxN 2d для каждого процесса. Для простоты, давайте предположим, что N постоянно в разных процессах (скажем, 5). Чтобы добиться поддержки ядром этих данных, я мог бы сделать что-то вроде:
b = BPF(text = """
typedef struct
{
float transMat[5][5];
} trans_struct;
BPF_HASH(trans_mapping, char[16], trans_struct);
.....
""")
Мне интересно, есть ли простой способ инициализации этой карты с python. Что-то вроде:
for ele in someDictionary:
#asume someDitionary has mapping (comm -> 5x5 float matrix)
b["trans_mapping"].insert(ele, someDictionary[ele])
Я полагаю, суть моей путаницы в том, что: 1) все ли методы карты доступны пользователю, 2) как мы можем обеспечить согласованность типов при переходе от python объектов к c структура