git://git.onelab.eu
/
sliver-openvswitch.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'mainstream'
[sliver-openvswitch.git]
/
lib
/
dpif-netdev.c
diff --git
a/lib/dpif-netdev.c
b/lib/dpif-netdev.c
index
07c1467
..
461e0dc
100644
(file)
--- a/
lib/dpif-netdev.c
+++ b/
lib/dpif-netdev.c
@@
-415,6
+415,7
@@
do_add_port(struct dp_netdev *dp, const char *devname, const char *type,
struct dp_netdev_port *port;
struct netdev *netdev;
struct netdev_rx *rx;
struct dp_netdev_port *port;
struct netdev *netdev;
struct netdev_rx *rx;
+ enum netdev_flags flags;
const char *open_type;
int mtu;
int error;
const char *open_type;
int mtu;
int error;
@@
-427,9
+428,15
@@
do_add_port(struct dp_netdev *dp, const char *devname, const char *type,
if (error) {
return error;
}
if (error) {
return error;
}
- /* XXX reject loopback devices */
/* XXX reject non-Ethernet devices */
/* XXX reject non-Ethernet devices */
+ netdev_get_flags(netdev, &flags);
+ if (flags & NETDEV_LOOPBACK) {
+ VLOG_ERR("%s: cannot add a loopback device", devname);
+ netdev_close(netdev);
+ return EINVAL;
+ }
+
error = netdev_rx_open(netdev, &rx);
if (error
&& !(error == EOPNOTSUPP && dpif_netdev_class_is_dummy(dp->class))) {
error = netdev_rx_open(netdev, &rx);
if (error
&& !(error == EOPNOTSUPP && dpif_netdev_class_is_dummy(dp->class))) {
@@
-616,10
+623,10
@@
dpif_netdev_port_query_by_name(const struct dpif *dpif, const char *devname,
return error;
}
return error;
}
-static
odp_port
_t
+static
uint32
_t
dpif_netdev_get_max_ports(const struct dpif *dpif OVS_UNUSED)
{
dpif_netdev_get_max_ports(const struct dpif *dpif OVS_UNUSED)
{
- return
u32_to_odp(MAX_PORTS)
;
+ return
MAX_PORTS
;
}
static void
}
static void