Family名称
|
.name
|
.ops
|
dp_datapath_genl_family
|
-
static struct genl_family dp_datapath_genl_family = {
-
.id = GENL_ID_GENERATE,
-
.hdrsize = sizeof(struct ovs_header),
-
.name = OVS_DATAPATH_FAMILY,
-
.version = OVS_DATAPATH_VERSION,
-
.maxattr = OVS_DP_ATTR_MAX,
-
.netnsok = true,
-
.parallel_ops = true,
-
.ops = dp_datapath_genl_ops,
-
.n_ops = ARRAY_SIZE(dp_datapath_genl_ops),
-
.mcgrps = &ovs_dp_datapath_multicast_group,
-
.n_mcgrps = 1,
-
};
|
-
static struct genl_ops dp_datapath_genl_ops[] = {
-
{ .cmd = OVS_DP_CMD_NEW,
-
.flags = GENL_ADMIN_PERM, /* Requires CAP_NET_ADMIN privilege. */
-
.policy = datapath_policy,
-
.doit = ovs_dp_cmd_new
-
},
-
{ .cmd = OVS_DP_CMD_DEL,
-
.flags = GENL_ADMIN_PERM, /* Requires CAP_NET_ADMIN privilege. */
-
.policy = datapath_policy,
-
.doit = ovs_dp_cmd_del
-
},
-
{ .cmd = OVS_DP_CMD_GET,
-
.flags = 0, /* OK for unprivileged users. */
-
.policy = datapath_policy,
-
.doit = ovs_dp_cmd_get,
-
.dumpit = ovs_dp_cmd_dump
-
},
-
{ .cmd = OVS_DP_CMD_SET,
-
.flags = GENL_ADMIN_PERM, /* Requires CAP_NET_ADMIN privilege. */
-
.policy = datapath_policy,
-
.doit = ovs_dp_cmd_set,
-
},
-
};
|
dp_vport_genl_family
|
-
struct genl_family dp_vport_genl_family = {
-
.id = GENL_ID_GENERATE,
-
.hdrsize = sizeof(struct ovs_header),
-
.name = OVS_VPORT_FAMILY,
-
.version = OVS_VPORT_VERSION,
-
.maxattr = OVS_VPORT_ATTR_MAX,
-
.netnsok = true,
-
.parallel_ops = true,
-
.ops = dp_vport_genl_ops,
-
.n_ops = ARRAY_SIZE(dp_vport_genl_ops),
-
.mcgrps = &ovs_dp_vport_multicast_group,
-
.n_mcgrps = 1,
-
};
|
-
static struct genl_ops dp_vport_genl_ops[] = {
-
{ .cmd = OVS_VPORT_CMD_NEW,
-
.flags = GENL_ADMIN_PERM, /* Requires CAP_NET_ADMIN privilege. */
-
.policy = vport_policy,
-
.doit = ovs_vport_cmd_new
-
},
-
{ .cmd = OVS_VPORT_CMD_DEL,
-
.flags = GENL_ADMIN_PERM, /* Requires CAP_NET_ADMIN privilege. */
-
.policy = vport_policy,
-
.doit = ovs_vport_cmd_del
-
},
-
{ .cmd = OVS_VPORT_CMD_GET,
-
.flags = 0, /* OK for unprivileged users. */
-
.policy = vport_policy,
-
.doit = ovs_vport_cmd_get,
-
.dumpit = ovs_vport_cmd_dump
-
},
-
{ .cmd = OVS_VPORT_CMD_SET,
-
.flags = GENL_ADMIN_PERM, /* Requires CAP_NET_ADMIN privilege. */
-
.policy = vport_policy,
-
.doit = ovs_vport_cmd_set,
-
},
-
};
|
dp_flow_genl_family
|
-
static struct genl_family dp_flow_genl_family = {
-
.id = GENL_ID_GENERATE,
-
.hdrsize = sizeof(struct ovs_header),
-
.name = OVS_FLOW_FAMILY,
-
.version = OVS_FLOW_VERSION,
-
.maxattr = OVS_FLOW_ATTR_MAX,
-
.netnsok = true,
-
.parallel_ops = true,
-
.ops = dp_flow_genl_ops,
-
.n_ops = ARRAY_SIZE(dp_flow_genl_ops),
-
.mcgrps = &ovs_dp_flow_multicast_group,
-
.n_mcgrps = 1,
-
};
|
-
static struct genl_ops dp_flow_genl_ops[] = {
-
{ .cmd = OVS_FLOW_CMD_NEW,
-
.flags = GENL_ADMIN_PERM, /* Requires CAP_NET_ADMIN privilege. */
-
.policy = flow_policy,
-
.doit = ovs_flow_cmd_new
-
},
-
{ .cmd = OVS_FLOW_CMD_DEL,
-
.flags = GENL_ADMIN_PERM, /* Requires CAP_NET_ADMIN privilege. */
-
.policy = flow_policy,
-
.doit = ovs_flow_cmd_del
-
},
-
{ .cmd = OVS_FLOW_CMD_GET,
-
.flags = 0, /* OK for unprivileged users. */
-
.policy = flow_policy,
-
.doit = ovs_flow_cmd_get,
-
.dumpit = ovs_flow_cmd_dump
-
},
-
{ .cmd = OVS_FLOW_CMD_SET,
-
.flags = GENL_ADMIN_PERM, /* Requires CAP_NET_ADMIN privilege. */
-
.policy = flow_policy,
-
.doit = ovs_flow_cmd_set,
-
},
-
};
|
dp_packet_genl_family
|
-
static struct genl_family dp_packet_genl_family = {
-
.id = GENL_ID_GENERATE,
-
.hdrsize = sizeof(struct ovs_header),
-
.name = OVS_PACKET_FAMILY,
-
.version = OVS_PACKET_VERSION,
-
.maxattr = OVS_PACKET_ATTR_MAX,
-
.netnsok = true,
-
.parallel_ops = true,
-
.ops = dp_packet_genl_ops,
-
.n_ops = ARRAY_SIZE(dp_packet_genl_ops),
-
};
|
-
static struct genl_ops dp_packet_genl_ops[] = {
-
{ .cmd = OVS_PACKET_CMD_EXECUTE,
-
.flags = GENL_ADMIN_PERM, /* Requires CAP_NET_ADMIN privilege. */
-
.policy = packet_policy,
-
.doit = ovs_packet_cmd_execute
-
}
-
};
|