Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dc7f9f6e authored by Eric Dumazet's avatar Eric Dumazet Committed by David S. Miller
Browse files

net: sched: constify tcf_proto and tc_action

parent 95ec3eb4
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -72,7 +72,7 @@ struct tcf_act_hdr {


struct tc_action {
struct tc_action {
	void			*priv;
	void			*priv;
	struct tc_action_ops	*ops;
	const struct tc_action_ops	*ops;
	__u32			type; /* for backward compat(TCA_OLD_COMPAT) */
	__u32			type; /* for backward compat(TCA_OLD_COMPAT) */
	__u32			order;
	__u32			order;
	struct tc_action	*next;
	struct tc_action	*next;
@@ -86,7 +86,7 @@ struct tc_action_ops {
	__u32   type; /* TBD to match kind */
	__u32   type; /* TBD to match kind */
	__u32 	capab;  /* capabilities includes 4 bit version */
	__u32 	capab;  /* capabilities includes 4 bit version */
	struct module		*owner;
	struct module		*owner;
	int     (*act)(struct sk_buff *, struct tc_action *, struct tcf_result *);
	int     (*act)(struct sk_buff *, const struct tc_action *, struct tcf_result *);
	int     (*get_stats)(struct sk_buff *, struct tc_action *);
	int     (*get_stats)(struct sk_buff *, struct tc_action *);
	int     (*dump)(struct sk_buff *, struct tc_action *, int, int);
	int     (*dump)(struct sk_buff *, struct tc_action *, int, int);
	int     (*cleanup)(struct tc_action *, int bind);
	int     (*cleanup)(struct tc_action *, int bind);
@@ -115,7 +115,7 @@ extern void tcf_hash_insert(struct tcf_common *p, struct tcf_hashinfo *hinfo);
extern int tcf_register_action(struct tc_action_ops *a);
extern int tcf_register_action(struct tc_action_ops *a);
extern int tcf_unregister_action(struct tc_action_ops *a);
extern int tcf_unregister_action(struct tc_action_ops *a);
extern void tcf_action_destroy(struct tc_action *a, int bind);
extern void tcf_action_destroy(struct tc_action *a, int bind);
extern int tcf_action_exec(struct sk_buff *skb, struct tc_action *a, struct tcf_result *res);
extern int tcf_action_exec(struct sk_buff *skb, const struct tc_action *a, struct tcf_result *res);
extern struct tc_action *tcf_action_init(struct nlattr *nla, struct nlattr *est, char *n, int ovr, int bind);
extern struct tc_action *tcf_action_init(struct nlattr *nla, struct nlattr *est, char *n, int ovr, int bind);
extern struct tc_action *tcf_action_init_1(struct nlattr *nla, struct nlattr *est, char *n, int ovr, int bind);
extern struct tc_action *tcf_action_init_1(struct nlattr *nla, struct nlattr *est, char *n, int ovr, int bind);
extern int tcf_action_dump(struct sk_buff *skb, struct tc_action *a, int, int);
extern int tcf_action_dump(struct sk_buff *skb, struct tc_action *a, int, int);
+2 −2
Original line number Original line Diff line number Diff line
@@ -99,9 +99,9 @@ static inline void qdisc_run(struct Qdisc *q)
		__qdisc_run(q);
		__qdisc_run(q);
}
}


extern int tc_classify_compat(struct sk_buff *skb, struct tcf_proto *tp,
extern int tc_classify_compat(struct sk_buff *skb, const struct tcf_proto *tp,
			      struct tcf_result *res);
			      struct tcf_result *res);
extern int tc_classify(struct sk_buff *skb, struct tcf_proto *tp,
extern int tc_classify(struct sk_buff *skb, const struct tcf_proto *tp,
		       struct tcf_result *res);
		       struct tcf_result *res);


/* Calculate maximal size of packet seen by hard_start_xmit
/* Calculate maximal size of packet seen by hard_start_xmit
+7 −5
Original line number Original line Diff line number Diff line
@@ -181,7 +181,8 @@ struct tcf_proto_ops {
	struct tcf_proto_ops	*next;
	struct tcf_proto_ops	*next;
	char			kind[IFNAMSIZ];
	char			kind[IFNAMSIZ];


	int			(*classify)(struct sk_buff*, struct tcf_proto*,
	int			(*classify)(struct sk_buff *,
					    const struct tcf_proto *,
					    struct tcf_result *);
					    struct tcf_result *);
	int			(*init)(struct tcf_proto*);
	int			(*init)(struct tcf_proto*);
	void			(*destroy)(struct tcf_proto*);
	void			(*destroy)(struct tcf_proto*);
@@ -205,7 +206,8 @@ struct tcf_proto {
	/* Fast access part */
	/* Fast access part */
	struct tcf_proto	*next;
	struct tcf_proto	*next;
	void			*root;
	void			*root;
	int			(*classify)(struct sk_buff*, struct tcf_proto*,
	int			(*classify)(struct sk_buff *,
					    const struct tcf_proto *,
					    struct tcf_result *);
					    struct tcf_result *);
	__be16			protocol;
	__be16			protocol;


@@ -214,7 +216,7 @@ struct tcf_proto {
	u32			classid;
	u32			classid;
	struct Qdisc		*q;
	struct Qdisc		*q;
	void			*data;
	void			*data;
	struct tcf_proto_ops	*ops;
	const struct tcf_proto_ops	*ops;
};
};


struct qdisc_skb_cb {
struct qdisc_skb_cb {
+2 −2
Original line number Original line Diff line number Diff line
@@ -365,10 +365,10 @@ static struct tc_action_ops *tc_lookup_action_id(u32 type)
}
}
#endif
#endif


int tcf_action_exec(struct sk_buff *skb, struct tc_action *act,
int tcf_action_exec(struct sk_buff *skb, const struct tc_action *act,
		    struct tcf_result *res)
		    struct tcf_result *res)
{
{
	struct tc_action *a;
	const struct tc_action *a;
	int ret = -1;
	int ret = -1;


	if (skb->tc_verd & TC_NCLS) {
	if (skb->tc_verd & TC_NCLS) {
+1 −1
Original line number Original line Diff line number Diff line
@@ -500,7 +500,7 @@ static int tcf_csum_ipv6(struct sk_buff *skb, u32 update_flags)
}
}


static int tcf_csum(struct sk_buff *skb,
static int tcf_csum(struct sk_buff *skb,
		    struct tc_action *a, struct tcf_result *res)
		    const struct tc_action *a, struct tcf_result *res)
{
{
	struct tcf_csum *p = a->priv;
	struct tcf_csum *p = a->priv;
	int action;
	int action;
Loading