diff options
author | Codrin Ciubotariu <codrin.ciubotariu@freescale.com> | 2015-07-24 16:55:33 +0300 |
---|---|---|
committer | York Sun <yorksun@freescale.com> | 2015-09-21 08:29:48 -0700 |
commit | a2477924cd302cfae730ebefb431814eb99ad861 (patch) | |
tree | 1e83bac22998eabdca5c0141a9ae431fe4c1496c /include/ethsw.h | |
parent | 22449858f8eae3f03399f76b4a982dd2f0d4df00 (diff) | |
download | u-boot-a2477924cd302cfae730ebefb431814eb99ad861.tar.gz |
drivers/net/vsc9953: Add VLAN commands for VSC9953
The new added commands can be used to configure VLANs for a port
on both ingress and egress.
The new commands are:
ethsw [port <port_no>] pvid { [help] | show | <pvid> }
- set/show PVID (ingress and egress VLAN tagging) for a port;
ethsw [port <port_no>] vlan { [help] | show | add <vid> | del <vid> }
- add a VLAN to a port (VLAN members);
ethsw [port <port_no>] untagged { [help] | show | all | none | pvid }
- set egress tagging mod for a port"
ethsw [port <port_no>] egress tag { [help] | show | pvid | classified }
- Configure VID source for egress tag. Tag's VID could be the
frame's classified VID or the PVID of the port
These commands have also been added to the ethsw generic parser from
common/cmd_ethsw.c
Signed-off-by: Johnson Leung <johnson.leung@freescale.com>
Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@freescale.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: York Sun <yorksun@freescale.com>
Diffstat (limited to 'include/ethsw.h')
-rw-r--r-- | include/ethsw.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/ethsw.h b/include/ethsw.h index 515903164b..cc9708e9ac 100644 --- a/include/ethsw.h +++ b/include/ethsw.h @@ -30,12 +30,20 @@ enum ethsw_keyword_id { ethsw_id_add, ethsw_id_del, ethsw_id_flush, + ethsw_id_pvid, + ethsw_id_untagged, + ethsw_id_all, + ethsw_id_none, + ethsw_id_egress, + ethsw_id_tag, + ethsw_id_classified, ethsw_id_count, /* keep last */ }; enum ethsw_keyword_opt_id { ethsw_id_port_no = ethsw_id_count + 1, ethsw_id_vlan_no, + ethsw_id_pvid_no, ethsw_id_add_del_no, ethsw_id_add_del_mac, ethsw_id_count_all, /* keep last */ @@ -64,6 +72,14 @@ struct ethsw_command_func { int (*fdb_flush)(struct ethsw_command_def *parsed_cmd); int (*fdb_entry_add)(struct ethsw_command_def *parsed_cmd); int (*fdb_entry_del)(struct ethsw_command_def *parsed_cmd); + int (*pvid_show)(struct ethsw_command_def *parsed_cmd); + int (*pvid_set)(struct ethsw_command_def *parsed_cmd); + int (*vlan_show)(struct ethsw_command_def *parsed_cmd); + int (*vlan_set)(struct ethsw_command_def *parsed_cmd); + int (*port_untag_show)(struct ethsw_command_def *parsed_cmd); + int (*port_untag_set)(struct ethsw_command_def *parsed_cmd); + int (*port_egr_vlan_show)(struct ethsw_command_def *parsed_cmd); + int (*port_egr_vlan_set)(struct ethsw_command_def *parsed_cmd); }; int ethsw_define_functions(const struct ethsw_command_func *cmd_func); |