ipv4: Allow ipv6 gateway with ipv4 routes
Add support for RTA_VIA and allow an IPv6 nexthop for v4 routes: $ ip ro add 172.16.1.0/24 via inet6 2001:db8::1 dev eth0 $ ip ro ls ... 172.16.1.0/24 via inet6 2001:db8::1 dev eth0 For convenience and simplicity, userspace can use RTA_VIA to specify AF_INET or AF_INET6 gateway. The common fib_nexthop_info dump function compares the gateway address family to the nh_common family to know if the gateway should be encoded as RTA_VIA or RTA_GATEWAY. Signed-off-by: David Ahern <dsahern@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
19a9d136f1
commit
d15662682d
@@ -401,6 +401,8 @@ static inline bool fib4_rules_early_flow_dissect(struct net *net,
|
||||
/* Exported by fib_frontend.c */
|
||||
extern const struct nla_policy rtm_ipv4_policy[];
|
||||
void ip_fib_init(void);
|
||||
int fib_gw_from_via(struct fib_config *cfg, struct nlattr *nla,
|
||||
struct netlink_ext_ack *extack);
|
||||
__be32 fib_compute_spec_dst(struct sk_buff *skb);
|
||||
bool fib_info_nh_uses_dev(struct fib_info *fi, const struct net_device *dev);
|
||||
int fib_validate_source(struct sk_buff *skb, __be32 src, __be32 dst,
|
||||
|
Reference in New Issue
Block a user