projects
/
openvswitch
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
netdev: Clean up and refactor packet receive interface.
[openvswitch]
/
vswitchd
/
ovs-brcompatd.c
diff --git
a/vswitchd/ovs-brcompatd.c
b/vswitchd/ovs-brcompatd.c
index 4f35452156d9374fbf58c7d1c60c97cc89dde466..d9b3bc38d8746804361006e146aa175b38cd4398 100644
(file)
--- a/
vswitchd/ovs-brcompatd.c
+++ b/
vswitchd/ovs-brcompatd.c
@@
-363,25
+363,29
@@
handle_port_cmd(struct ofpbuf *buffer, bool add)
}
static char *
}
static char *
-linux_bridge_to_ovs_bridge(const char *linux_name)
+linux_bridge_to_ovs_bridge(const char *linux_name
, int *br_vlanp
)
{
char *save_ptr = NULL;
{
char *save_ptr = NULL;
- const char *br_name;
+ const char *br_name
, *br_vlan
;
char *br_name_copy;
char *output;
char *br_name_copy;
char *output;
- output = capture_vsctl(vsctl_program, VSCTL_OPTIONS, "br-to-parent",
- linux_name, (char *) NULL);
+ output = capture_vsctl(vsctl_program, VSCTL_OPTIONS,
+ "--", "br-to-parent", linux_name,
+ "--", "br-to-vlan", linux_name,
+ (char *) NULL);
if (!output) {
return NULL;
}
br_name = strtok_r(output, " \t\r\n", &save_ptr);
if (!output) {
return NULL;
}
br_name = strtok_r(output, " \t\r\n", &save_ptr);
- if (!br_name) {
+ br_vlan = strtok_r(NULL, " \t\r\n", &save_ptr);
+ if (!br_name || !br_vlan) {
free(output);
return NULL;
}
br_name_copy = xstrdup(br_name);
free(output);
return NULL;
}
br_name_copy = xstrdup(br_name);
+ *br_vlanp = atoi(br_vlan);
free(output);
free(output);
@@
-458,7
+462,7
@@
handle_fdb_query_cmd(struct ofpbuf *buffer)
}
/* Figure out vswitchd bridge and VLAN. */
}
/* Figure out vswitchd bridge and VLAN. */
- br_name = linux_bridge_to_ovs_bridge(linux_name);
+ br_name = linux_bridge_to_ovs_bridge(linux_name
, &br_vlan
);
if (!br_name) {
error = EINVAL;
send_simple_reply(seq, error);
if (!br_name) {
error = EINVAL;
send_simple_reply(seq, error);
@@
-881,7
+885,7
@@
parse_options(int argc, char *argv[])
usage();
case 'V':
usage();
case 'V':
-
OVS_PRINT_VERSION
(0, 0);
+
ovs_print_version
(0, 0);
exit(EXIT_SUCCESS);
case OPT_APPCTL:
exit(EXIT_SUCCESS);
case OPT_APPCTL: