};
struct ifla_macvlan {
- int mode; /* private, vepa, bridge */
+ int mode; /* private, vepa, bridge, passthru */
};
union netdev_p {
# define MACVLAN_MODE_BRIDGE 4
#endif
+#ifndef MACVLAN_MODE_PASSTHRU
+# define MACVLAN_MODE_PASSTHRU 8
+#endif
+
static int macvlan_mode(int *valuep, const char *value)
{
struct mc_mode {
{ "private", MACVLAN_MODE_PRIVATE },
{ "vepa", MACVLAN_MODE_VEPA },
{ "bridge", MACVLAN_MODE_BRIDGE },
+ { "passthru", MACVLAN_MODE_PASSTHRU },
};
int i;
case MACVLAN_MODE_PRIVATE: mode = "private"; break;
case MACVLAN_MODE_VEPA: mode = "vepa"; break;
case MACVLAN_MODE_BRIDGE: mode = "bridge"; break;
+ case MACVLAN_MODE_PASSTHRU: mode = "passthru"; break;
default: mode = "(invalid)"; break;
}
strprint(retv, inlen, "%s", mode);