mirror of
https://github.com/openvswitch/ovs
synced 2025-10-25 15:07:05 +00:00
datapath: Constify netlink structs.
Signed-off-by: Joe Stringer <joestringer@nicira.com> Acked-by: Jesse Gross <jesse@nicira.com>
This commit is contained in:
@@ -69,16 +69,16 @@ static struct genl_family dp_datapath_genl_family;
|
|||||||
|
|
||||||
static const struct nla_policy flow_policy[];
|
static const struct nla_policy flow_policy[];
|
||||||
|
|
||||||
static struct genl_multicast_group ovs_dp_flow_multicast_group = {
|
static const struct genl_multicast_group ovs_dp_flow_multicast_group = {
|
||||||
.name = OVS_FLOW_MCGROUP
|
.name = OVS_FLOW_MCGROUP,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct genl_multicast_group ovs_dp_datapath_multicast_group = {
|
static const struct genl_multicast_group ovs_dp_datapath_multicast_group = {
|
||||||
.name = OVS_DATAPATH_MCGROUP
|
.name = OVS_DATAPATH_MCGROUP,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct genl_multicast_group ovs_dp_vport_multicast_group = {
|
const struct genl_multicast_group ovs_dp_vport_multicast_group = {
|
||||||
.name = OVS_VPORT_MCGROUP
|
.name = OVS_VPORT_MCGROUP,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Check if need to build a reply message.
|
/* Check if need to build a reply message.
|
||||||
@@ -91,7 +91,8 @@ static bool ovs_must_notify(struct genl_family *family, struct genl_info *info,
|
|||||||
genl_has_listeners(family, genl_info_net(info), group);
|
genl_has_listeners(family, genl_info_net(info), group);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ovs_notify(struct genl_family *family, struct genl_multicast_group *grp,
|
static void ovs_notify(struct genl_family *family,
|
||||||
|
const struct genl_multicast_group *grp,
|
||||||
struct sk_buff *skb, struct genl_info *info)
|
struct sk_buff *skb, struct genl_info *info)
|
||||||
{
|
{
|
||||||
genl_notify(family, skb, genl_info_net(info),
|
genl_notify(family, skb, genl_info_net(info),
|
||||||
@@ -636,7 +637,7 @@ static const struct nla_policy packet_policy[OVS_PACKET_ATTR_MAX + 1] = {
|
|||||||
[OVS_PACKET_ATTR_PROBE] = { .type = NLA_FLAG },
|
[OVS_PACKET_ATTR_PROBE] = { .type = NLA_FLAG },
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct genl_ops dp_packet_genl_ops[] = {
|
static const struct genl_ops dp_packet_genl_ops[] = {
|
||||||
{ .cmd = OVS_PACKET_CMD_EXECUTE,
|
{ .cmd = OVS_PACKET_CMD_EXECUTE,
|
||||||
.flags = GENL_ADMIN_PERM, /* Requires CAP_NET_ADMIN privilege. */
|
.flags = GENL_ADMIN_PERM, /* Requires CAP_NET_ADMIN privilege. */
|
||||||
.policy = packet_policy,
|
.policy = packet_policy,
|
||||||
@@ -1371,7 +1372,7 @@ static const struct nla_policy flow_policy[OVS_FLOW_ATTR_MAX + 1] = {
|
|||||||
[OVS_FLOW_ATTR_UFID_FLAGS] = { .type = NLA_U32 },
|
[OVS_FLOW_ATTR_UFID_FLAGS] = { .type = NLA_U32 },
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct genl_ops dp_flow_genl_ops[] = {
|
static const struct genl_ops dp_flow_genl_ops[] = {
|
||||||
{ .cmd = OVS_FLOW_CMD_NEW,
|
{ .cmd = OVS_FLOW_CMD_NEW,
|
||||||
.flags = GENL_ADMIN_PERM, /* Requires CAP_NET_ADMIN privilege. */
|
.flags = GENL_ADMIN_PERM, /* Requires CAP_NET_ADMIN privilege. */
|
||||||
.policy = flow_policy,
|
.policy = flow_policy,
|
||||||
@@ -1757,7 +1758,7 @@ static const struct nla_policy datapath_policy[OVS_DP_ATTR_MAX + 1] = {
|
|||||||
[OVS_DP_ATTR_USER_FEATURES] = { .type = NLA_U32 },
|
[OVS_DP_ATTR_USER_FEATURES] = { .type = NLA_U32 },
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct genl_ops dp_datapath_genl_ops[] = {
|
static const struct genl_ops dp_datapath_genl_ops[] = {
|
||||||
{ .cmd = OVS_DP_CMD_NEW,
|
{ .cmd = OVS_DP_CMD_NEW,
|
||||||
.flags = GENL_ADMIN_PERM, /* Requires CAP_NET_ADMIN privilege. */
|
.flags = GENL_ADMIN_PERM, /* Requires CAP_NET_ADMIN privilege. */
|
||||||
.policy = datapath_policy,
|
.policy = datapath_policy,
|
||||||
@@ -2136,7 +2137,7 @@ static const struct nla_policy vport_policy[OVS_VPORT_ATTR_MAX + 1] = {
|
|||||||
[OVS_VPORT_ATTR_OPTIONS] = { .type = NLA_NESTED },
|
[OVS_VPORT_ATTR_OPTIONS] = { .type = NLA_NESTED },
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct genl_ops dp_vport_genl_ops[] = {
|
static const struct genl_ops dp_vport_genl_ops[] = {
|
||||||
{ .cmd = OVS_VPORT_CMD_NEW,
|
{ .cmd = OVS_VPORT_CMD_NEW,
|
||||||
.flags = GENL_ADMIN_PERM, /* Requires CAP_NET_ADMIN privilege. */
|
.flags = GENL_ADMIN_PERM, /* Requires CAP_NET_ADMIN privilege. */
|
||||||
.policy = vport_policy,
|
.policy = vport_policy,
|
||||||
@@ -2174,7 +2175,7 @@ struct genl_family dp_vport_genl_family = {
|
|||||||
.n_mcgrps = 1,
|
.n_mcgrps = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct genl_family *dp_genl_families[] = {
|
static struct genl_family * const dp_genl_families[] = {
|
||||||
&dp_datapath_genl_family,
|
&dp_datapath_genl_family,
|
||||||
&dp_vport_genl_family,
|
&dp_vport_genl_family,
|
||||||
&dp_flow_genl_family,
|
&dp_flow_genl_family,
|
||||||
|
|||||||
@@ -186,7 +186,7 @@ static inline struct vport *ovs_vport_ovsl(const struct datapath *dp, int port_n
|
|||||||
|
|
||||||
extern struct notifier_block ovs_dp_device_notifier;
|
extern struct notifier_block ovs_dp_device_notifier;
|
||||||
extern struct genl_family dp_vport_genl_family;
|
extern struct genl_family dp_vport_genl_family;
|
||||||
extern struct genl_multicast_group ovs_dp_vport_multicast_group;
|
extern const struct genl_multicast_group ovs_dp_vport_multicast_group;
|
||||||
|
|
||||||
void ovs_dp_process_packet(struct sk_buff *skb, struct sw_flow_key *key);
|
void ovs_dp_process_packet(struct sk_buff *skb, struct sw_flow_key *key);
|
||||||
void ovs_dp_detach_port(struct vport *);
|
void ovs_dp_detach_port(struct vport *);
|
||||||
|
|||||||
Reference in New Issue
Block a user