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>
This commit is contained in:
committed by
York Sun
parent
22449858f8
commit
a2477924cd
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user