29 Jan, 2016

3 commits

  • You can now configure LAG on VSC9953's ports using the command:
    ethsw [port ] aggr {[help] | show | }

    A port must belong to a single LAG. By default, a port
    belongs to a LAG equal to the port's number.

    For each frame, a hash will be calculated based on
    Source/Destination MAC addresses, Source/Destination IP(v4/v6)
    addresses, Source/Destination ports. This hash will be used to
    select a single egress port from LAG. This also assures
    that frames from the same flow will always have the
    same egress port.

    Signed-off-by: Codrin Ciubotariu
    Acked-by: Joe Hershberger

    Codrin Ciubotariu
     
  • By default, the aging period is set to 0, so the dynamic
    FDB entries are never removed. This patch sets the aging
    time to 300 seconds.

    Signed-off-by: Codrin Ciubotariu
    Acked-by: Joe Hershberger

    Codrin Ciubotariu
     
  • There are only 21 registers reserved between ana_ana and
    ana_pgid register groups.

    Signed-off-by: Codrin Ciubotariu
    Acked-by: Joe Hershberger

    Codrin Ciubotariu
     

21 Sep, 2015

11 commits

  • Signed-off-by: Codrin Ciubotariu
    Acked-by: Joe Hershberger
    Reviewed-by: York Sun

    Codrin Ciubotariu
     
  • The command:
    ethsw vlan fdb { [help] | show | shared | private }
    - make VLAN learning shared or private"

    configures the FDB to share the FDB entries learned on multiple VLANs
    or to keep them separated. By default, the FBD uses private VLAN
    learning. This command has also been added to the ethsw generic parser
    from common/cmd_ethsw.c

    Signed-off-by: Johnson Leung
    Signed-off-by: Codrin Ciubotariu
    Acked-by: Joe Hershberger
    Reviewed-by: York Sun

    Codrin Ciubotariu
     
  • The new added commands can be used to configure VLANs for a port
    on both ingress and egress.

    The new commands are:
    ethsw [port ] pvid { [help] | show | }
    - set/show PVID (ingress and egress VLAN tagging) for a port;
    ethsw [port ] vlan { [help] | show | add | del }
    - add a VLAN to a port (VLAN members);
    ethsw [port ] untagged { [help] | show | all | none | pvid }
    - set egress tagging mod for a port"
    ethsw [port ] 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
    Signed-off-by: Codrin Ciubotariu
    Acked-by: Joe Hershberger
    Reviewed-by: York Sun

    Codrin Ciubotariu
     
  • The new command:
    ethsw [port ] [vlan ] fdb
    { [help] | show | flush | { add | del } }

    Can be used to add and delete FDB entries. Also, the command can be used
    to show entries from the FDB tables. When used with [port ]
    and [vlan ], only the matching the FDB entries can be seen or
    flushed. The command has also been added to the generic ethsw parser
    from cmd_ethsw.c.

    Signed-off-by: Johnson Leung
    Signed-off-by: Codrin Ciubotariu
    Acked-by: Joe Hershberger
    Reviewed-by: York Sun

    Codrin Ciubotariu
     
  • The command:
    ethsw [port ] learning { [help] | show | auto | disable }

    can be used to enable/disable HW learning on a port.
    This patch also adds this command to the generic ethsw parser from
    cmd_ethsw.

    Signed-off-by: Johnson Leung
    Signed-off-by: Codrin Ciubotariu
    Acked-by: Joe Hershberger
    Reviewed-by: York Sun

    Codrin Ciubotariu
     
  • The new added command:
    ethsw [port ] statistics { [help] | [clear] }

    will print counters like the number of Rx/Tx frames,
    number of Rx/Tx bytes, number of Rx/Tx unicast frames, etc.
    This patch also adds this commnd in the genereric ethsw
    parser from cmd_ethsw.c

    Signed-off-by: Codrin Ciubotariu
    Acked-by: Joe Hershberger
    Reviewed-by: York Sun

    Codrin Ciubotariu
     
  • At startup, the default configuration should be:
    - enable HW learning on all ports (HW default);
    - all ports are VLAN aware;
    - all ports are members of VLAN 1;
    - all ports have Port-based VLAN 1;
    - on all ports, the switch is allowed to remove
    maximum one VLAN tag,
    - on egress, the switch should add a VLAN tag if the
    frame is classified to a different VLAN than the port's
    Port-based VLAN;

    Signed-off-by: Johnson Leung
    Signed-off-by: Codrin Ciubotariu
    Acked-by: Joe Hershberger
    Reviewed-by: York Sun

    Codrin Ciubotariu
     
  • The VSC9953 DS reserves a register between vlan_mask and anag_efil
    registers.

    Signed-off-by: Johnson Leung
    Signed-off-by: Codrin Ciubotariu
    Acked-by: Joe Hershberger
    Reviewed-by: York Sun

    Codrin Ciubotariu
     
  • When a port is enabled at init time, the initializing function
    touches more bits than necessary to enable a port (also touches
    reserved bits and default bit values). This patch fixes this issue
    by changing the value of the define used to enable the port and
    assures that no other bits are changes by replacing out_le32()
    with setbits_le32().

    Signed-off-by: Codrin Ciubotariu
    Acked-by: Joe Hershberger
    Reviewed-by: York Sun

    Codrin Ciubotariu
     
  • This patch groups some macros defined for registers and
    replaces some magic numbers from vsc9953 with macros. Also,
    "port" and "port_nr" words are replaced with "port_no",
    puts each variable declaration on a line and removes
    unnecessary tabs.

    Signed-off-by: Codrin Ciubotariu
    Acked-by: Joe Hershberger
    Reviewed-by: York Sun

    Codrin Ciubotariu
     
  • Signed-off-by: Codrin Ciubotariu
    Acked-by: Joe Hershberger
    Reviewed-by: York Sun

    Codrin Ciubotariu
     

17 Jan, 2015

1 commit

  • This patch adds a driver for VSC9953 L2 Switch. This Vitesse IP
    is integrated in Freescale T1040 and T1020 SoCs.
    The L2 switch has 10 Ethernet ports: 2 internal fixed-links
    (ports 8 and 9) at 2.5 Gbps and and 8 external ports at 1 Gbps.
    The external ports may be connected to PHYs over QSGMII and SGMII.

    Commands have also been added to enable/disable a port and to
    check a port's link speed, duplexity and status. The commands are:

    ethsw port enable|disable - enable/disable an l2 switch port
    ethsw port show - show an l2 switch port's configuration

    port_nr=0..9; use "all" for all ports

    For more detailse please see doc/README.t1040-l2switch

    Signed-off-by: Codrin Ciubotariu
    Acked-by: Joe Hershberger
    Reviewed-by: York Sun

    Codrin Ciubotariu