Displaying 6 results from an estimated 6 matches for "vepa_mod".
Did you mean:
vepa_mode
2009 Jun 15
0
[Bridge] [PATCH][RFC] bridge-utils: add basic VEPA support
...static int br_cmd_showstp(int argc, char *const* argv)
return 0;
}
+static int br_cmd_vepa(int argc, char *const* argv)
+{
+ int vepa, err;
+
+ err = br_parse_param(argv[2], &vepa);
+ if (err) {
+ fprintf(stderr, "expect on/off for argument\n");
+ return 1;
+ }
+
+ err = br_set_vepa_mode(argv[1], vepa);
+ if (err)
+ fprintf(stderr, "set vepa mode failed: %s\n",
+ strerror(errno));
+ return err != 0;
+}
+
+static int br_cmd_vepauplink(int argc, char *const* argv)
+{
+ const char *brname = *++argv;
+ const char *ifname = *++argv;
+ int err;
+
+ if (if_nametoindex(ifname...
2009 Jun 15
0
[Bridge] [PATCH][RFC] bridge-utils: add basic VEPA support
...static int br_cmd_showstp(int argc, char *const* argv)
return 0;
}
+static int br_cmd_vepa(int argc, char *const* argv)
+{
+ int vepa, err;
+
+ err = br_parse_param(argv[2], &vepa);
+ if (err) {
+ fprintf(stderr, "expect on/off for argument\n");
+ return 1;
+ }
+
+ err = br_set_vepa_mode(argv[1], vepa);
+ if (err)
+ fprintf(stderr, "set vepa mode failed: %s\n",
+ strerror(errno));
+ return err != 0;
+}
+
+static int br_cmd_vepauplink(int argc, char *const* argv)
+{
+ const char *brname = *++argv;
+ const char *ifname = *++argv;
+ int err;
+
+ if (if_nametoindex(ifname...
2009 Jun 15
0
[Bridge] [PATCH][RFC] bridge-utils: add basic VEPA support
...static int br_cmd_showstp(int argc, char *const* argv)
return 0;
}
+static int br_cmd_vepa(int argc, char *const* argv)
+{
+ int vepa, err;
+
+ err = br_parse_param(argv[2], &vepa);
+ if (err) {
+ fprintf(stderr, "expect on/off for argument\n");
+ return 1;
+ }
+
+ err = br_set_vepa_mode(argv[1], vepa);
+ if (err)
+ fprintf(stderr, "set vepa mode failed: %s\n",
+ strerror(errno));
+ return err != 0;
+}
+
+static int br_cmd_vepauplink(int argc, char *const* argv)
+{
+ const char *brname = *++argv;
+ const char *ifname = *++argv;
+ int err;
+
+ if (if_nametoindex(ifname...
2009 Jun 15
1
[Bridge] [PATCH][RFC] net/bridge: add basic VEPA support
...ridge_port *source,
fdb = fdb_find(head, addr);
if (likely(fdb)) {
+ /*
+ * If we are a VEPA and the source port is the uplink,
+ * this could be a reflected packet, so don't learn any
+ * addresses that already are in the fdb but on other ports
+ */
+ if ((br->flags & BR_VEPA_MODE) && br->uplink == source &&
+ fdb->dst != br->uplink)
+ return;
+
/* attempt to update an entry for a local interface */
if (unlikely(fdb->is_local)) {
if (net_ratelimit())
@@ -415,3 +424,16 @@ void br_fdb_update(struct net_bridge *br, struct net_bridge...
2009 Jun 15
1
[Bridge] [PATCH][RFC] net/bridge: add basic VEPA support
...ridge_port *source,
fdb = fdb_find(head, addr);
if (likely(fdb)) {
+ /*
+ * If we are a VEPA and the source port is the uplink,
+ * this could be a reflected packet, so don't learn any
+ * addresses that already are in the fdb but on other ports
+ */
+ if ((br->flags & BR_VEPA_MODE) && br->uplink == source &&
+ fdb->dst != br->uplink)
+ return;
+
/* attempt to update an entry for a local interface */
if (unlikely(fdb->is_local)) {
if (net_ratelimit())
@@ -415,3 +424,16 @@ void br_fdb_update(struct net_bridge *br, struct net_bridge...
2009 Jun 15
1
[Bridge] [PATCH][RFC] net/bridge: add basic VEPA support
...ridge_port *source,
fdb = fdb_find(head, addr);
if (likely(fdb)) {
+ /*
+ * If we are a VEPA and the source port is the uplink,
+ * this could be a reflected packet, so don't learn any
+ * addresses that already are in the fdb but on other ports
+ */
+ if ((br->flags & BR_VEPA_MODE) && br->uplink == source &&
+ fdb->dst != br->uplink)
+ return;
+
/* attempt to update an entry for a local interface */
if (unlikely(fdb->is_local)) {
if (net_ratelimit())
@@ -415,3 +424,16 @@ void br_fdb_update(struct net_bridge *br, struct net_bridge...