Commit fe42e885 authored by David S. Miller's avatar David S. Miller

Merge branch 'mpls-cleanups'

Benjamin Poirier says:

====================
net: mpls: Cleanup nexthop iterator macros

The mpls macros for_nexthops and change_nexthops were probably copied
from decnet or ipv4 but they grew a superfluous variable and lost a
beneficial "const".
====================
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 688e0757 f05b0b97
...@@ -230,8 +230,8 @@ static struct mpls_nh *mpls_get_nexthop(struct mpls_route *rt, u8 index) ...@@ -230,8 +230,8 @@ static struct mpls_nh *mpls_get_nexthop(struct mpls_route *rt, u8 index)
* Since those fields can change at any moment, use READ_ONCE to * Since those fields can change at any moment, use READ_ONCE to
* access both. * access both.
*/ */
static struct mpls_nh *mpls_select_multipath(struct mpls_route *rt, static const struct mpls_nh *mpls_select_multipath(struct mpls_route *rt,
struct sk_buff *skb) struct sk_buff *skb)
{ {
u32 hash = 0; u32 hash = 0;
int nh_index = 0; int nh_index = 0;
...@@ -343,8 +343,8 @@ static int mpls_forward(struct sk_buff *skb, struct net_device *dev, ...@@ -343,8 +343,8 @@ static int mpls_forward(struct sk_buff *skb, struct net_device *dev,
{ {
struct net *net = dev_net(dev); struct net *net = dev_net(dev);
struct mpls_shim_hdr *hdr; struct mpls_shim_hdr *hdr;
const struct mpls_nh *nh;
struct mpls_route *rt; struct mpls_route *rt;
struct mpls_nh *nh;
struct mpls_entry_decoded dec; struct mpls_entry_decoded dec;
struct net_device *out_dev; struct net_device *out_dev;
struct mpls_dev *out_mdev; struct mpls_dev *out_mdev;
...@@ -2333,12 +2333,12 @@ static int mpls_getroute(struct sk_buff *in_skb, struct nlmsghdr *in_nlh, ...@@ -2333,12 +2333,12 @@ static int mpls_getroute(struct sk_buff *in_skb, struct nlmsghdr *in_nlh,
u32 labels[MAX_NEW_LABELS]; u32 labels[MAX_NEW_LABELS];
struct mpls_shim_hdr *hdr; struct mpls_shim_hdr *hdr;
unsigned int hdr_size = 0; unsigned int hdr_size = 0;
const struct mpls_nh *nh;
struct net_device *dev; struct net_device *dev;
struct mpls_route *rt; struct mpls_route *rt;
struct rtmsg *rtm, *r; struct rtmsg *rtm, *r;
struct nlmsghdr *nlh; struct nlmsghdr *nlh;
struct sk_buff *skb; struct sk_buff *skb;
struct mpls_nh *nh;
u8 n_labels; u8 n_labels;
int err; int err;
......
...@@ -158,17 +158,16 @@ struct mpls_route { /* next hop label forwarding entry */ ...@@ -158,17 +158,16 @@ struct mpls_route { /* next hop label forwarding entry */
}; };
#define for_nexthops(rt) { \ #define for_nexthops(rt) { \
int nhsel; struct mpls_nh *nh; u8 *__nh; \ int nhsel; const struct mpls_nh *nh; \
for (nhsel = 0, nh = (rt)->rt_nh, __nh = (u8 *)((rt)->rt_nh); \ for (nhsel = 0, nh = (rt)->rt_nh; \
nhsel < (rt)->rt_nhn; \ nhsel < (rt)->rt_nhn; \
__nh += rt->rt_nh_size, nh = (struct mpls_nh *)__nh, nhsel++) nh = (void *)nh + (rt)->rt_nh_size, nhsel++)
#define change_nexthops(rt) { \ #define change_nexthops(rt) { \
int nhsel; struct mpls_nh *nh; u8 *__nh; \ int nhsel; struct mpls_nh *nh; \
for (nhsel = 0, nh = (struct mpls_nh *)((rt)->rt_nh), \ for (nhsel = 0, nh = (rt)->rt_nh; \
__nh = (u8 *)((rt)->rt_nh); \
nhsel < (rt)->rt_nhn; \ nhsel < (rt)->rt_nhn; \
__nh += rt->rt_nh_size, nh = (struct mpls_nh *)__nh, nhsel++) nh = (void *)nh + (rt)->rt_nh_size, nhsel++)
#define endfor_nexthops(rt) } #define endfor_nexthops(rt) }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment