mirror of
https://github.com/openvswitch/ovs
synced 2025-10-25 15:07:05 +00:00
netdev: Add 'netdev' parameter to netdev_add_router().
When there is the possibility of multiple classes of netdevs, netdev_add_router() needs to know which of these to use, so it needs a "struct netdev *" parameter.
This commit is contained in:
@@ -411,7 +411,7 @@ dhclient_configure_netdev(struct dhclient *cli)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!error && router.s_addr) {
|
if (!error && router.s_addr) {
|
||||||
error = netdev_add_router(router);
|
error = netdev_add_router(cli->netdev, router);
|
||||||
if (error) {
|
if (error) {
|
||||||
VLOG_ERR("failed to add default route to "IP_FMT" on %s: %s",
|
VLOG_ERR("failed to add default route to "IP_FMT" on %s: %s",
|
||||||
IP_ARGS(&router), netdev_get_name(cli->netdev),
|
IP_ARGS(&router), netdev_get_name(cli->netdev),
|
||||||
|
|||||||
@@ -879,9 +879,10 @@ netdev_set_in4(struct netdev *netdev, struct in_addr addr, struct in_addr mask)
|
|||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Adds 'router' as a default IP gateway. */
|
/* Adds 'router' as a default IP gateway for the TCP/IP stack that corresponds
|
||||||
|
* to 'netdev'. */
|
||||||
int
|
int
|
||||||
netdev_add_router(struct in_addr router)
|
netdev_add_router(struct netdev *netdev UNUSED, struct in_addr router)
|
||||||
{
|
{
|
||||||
struct in_addr any = { INADDR_ANY };
|
struct in_addr any = { INADDR_ANY };
|
||||||
struct rtentry rt;
|
struct rtentry rt;
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ int netdev_get_features(struct netdev *,
|
|||||||
int netdev_set_advertisements(struct netdev *, uint32_t advertise);
|
int netdev_set_advertisements(struct netdev *, uint32_t advertise);
|
||||||
int netdev_get_in4(const struct netdev *, struct in_addr *);
|
int netdev_get_in4(const struct netdev *, struct in_addr *);
|
||||||
int netdev_set_in4(struct netdev *, struct in_addr addr, struct in_addr mask);
|
int netdev_set_in4(struct netdev *, struct in_addr addr, struct in_addr mask);
|
||||||
int netdev_add_router(struct in_addr router);
|
int netdev_add_router(struct netdev *, struct in_addr router);
|
||||||
bool netdev_get_in6(const struct netdev *, struct in6_addr *);
|
bool netdev_get_in6(const struct netdev *, struct in6_addr *);
|
||||||
int netdev_get_flags(const struct netdev *, enum netdev_flags *);
|
int netdev_get_flags(const struct netdev *, enum netdev_flags *);
|
||||||
int netdev_set_flags(struct netdev *, enum netdev_flags, bool permanent);
|
int netdev_set_flags(struct netdev *, enum netdev_flags, bool permanent);
|
||||||
|
|||||||
@@ -1145,7 +1145,7 @@ bridge_reconfigure_controller(struct bridge *br)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (gateway.s_addr) {
|
if (gateway.s_addr) {
|
||||||
if (!netdev_add_router(gateway)) {
|
if (!netdev_add_router(netdev, gateway)) {
|
||||||
VLOG_INFO("bridge %s: configured gateway "IP_FMT,
|
VLOG_INFO("bridge %s: configured gateway "IP_FMT,
|
||||||
br->name, IP_ARGS(&gateway.s_addr));
|
br->name, IP_ARGS(&gateway.s_addr));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user