{"push_id":1178690227,"size":43,"distinct_size":42,"ref":"refs/heads/jiri_devel","head":"eab4f7d318933968c7541ce91de2aeead4f6d020","before":"e4a0b3f4d7b4953024916d936baab9e856925a29","commits":[{"sha":"63537d0d2ac46a2438e8d244fd3cb855e78fa3b6","author":{"name":"Ido Schimmel","email":"47f98fbd7c1ff0617d70d2ed262591cfebfa5379@mellanox.com"},"message":"team: Fix possible deadlock during team enslave\n\nBoth dev_uc_sync_multiple() and dev_mc_sync_multiple() require the\nsource device to be locked by netif_addr_lock_bh(), but this is missing\nin team's enslave function, so add it.\n\nThis fixes the following lockdep warning:\n\nPossible interrupt unsafe locking scenario:\n\n        CPU0                    CPU1\n        ----                    ----\n   lock(_xmit_ETHER/1);\n                                local_irq_disable();\n                                lock(&(&mc->mca_lock)->rlock);\n                                lock(&team_netdev_addr_lock_key);\n   <Interrupt>\n     lock(&(&mc->mca_lock)->rlock);\n\n  *** DEADLOCK ***\n\nFixes: cb41c997d444 (\"team: team should sync the port's uc/mc addrs when add a port\")\nSigned-off-by: Ido Schimmel <idosch@mellanox.com>\nSigned-off-by: Jiri Pirko <jiri@mellanox.com>","distinct":false,"url":"https://api.github.com/repos/jpirko/linux_mlxsw/commits/63537d0d2ac46a2438e8d244fd3cb855e78fa3b6"},{"sha":"c2da686ca69ca4b5d9622f9d4c379a40a656bf49","author":{"name":"Jiri Pirko","email":"a7e702c6c67814648a4f7569508b76ff202ca280@mellanox.com"},"message":"net: add dev arg to ndo_neigh_construct/destroy\n\nAs the following patch will allow upper devices to follow the call down\nlower devices, we need to add dev here and not rely on n->dev.\n\nSigned-off-by: Jiri Pirko <jiri@mellanox.com>\nReviewed-by: Ido Schimmel <idosch@mellanox.com>","distinct":true,"url":"https://api.github.com/repos/jpirko/linux_mlxsw/commits/c2da686ca69ca4b5d9622f9d4c379a40a656bf49"},{"sha":"1a1fdcc93454e3f92951693e0537f920df0787f4","author":{"name":"Jiri Pirko","email":"a7e702c6c67814648a4f7569508b76ff202ca280@mellanox.com"},"message":"net: introduce default neigh_construct/destroy ndo calls for L2 upper devices\n\nL2 upper device needs to propagate neigh_construct/destroy calls down to\nlower devices. Do this by defining default ndo functions and use them in\nteam, bond, bridge and vlan.\n\nSigned-off-by: Jiri Pirko <jiri@mellanox.com>\nReviewed-by: Ido Schimmel <idosch@mellanox.com>","distinct":true,"url":"https://api.github.com/repos/jpirko/linux_mlxsw/commits/1a1fdcc93454e3f92951693e0537f920df0787f4"},{"sha":"031f80a3d29350f4cec0f1ad17a24b871be59153","author":{"name":"Yotam Gigi","email":"c7d5675a62fb97d3cf450bcf958a845a7f18258e@mellanox.com"},"message":"neighbour: Add the NETEVENT_REACHABLE_TIME_UPDATE netevent.\n\nThis netevent is triggered whenever the reachable_time is updated on a\ndevice. The parameter for that event is the pointer to the device\nneigh_parms, which includes the device pointer and its new reachable_time.\n\nThis new netevent is needed for switchdev infrastracture, as the\noffloading traffic does not go through the operation system. A switchdev\ndriver may use this value to update the kernel about offloaded traffic\nbefore the neighbor gets to STALE state.\n\nSigned-off-by: Yotam Gigi <yotamg@mellanox.com>\nSigned-off-by: Jiri Pirko <jiri@mellanox.com>\nReviewed-by: Ido Schimmel <idosch@mellanox.com>","distinct":true,"url":"https://api.github.com/repos/jpirko/linux_mlxsw/commits/031f80a3d29350f4cec0f1ad17a24b871be59153"},{"sha":"5319dd47e8225d9ed8451c6d503d4eed204d2569","author":{"name":"Ido Schimmel","email":"47f98fbd7c1ff0617d70d2ed262591cfebfa5379@mellanox.com"},"message":"mlxsw: spectrum: Send untagged packets through a port netdev\n\nPort netdevs (e.g. swXpY) that are not bridged are represented in the\ndevice using a vPort with VID=PVID=1 (the PVID vPort), as untagged\npackets entering the switch are internally tagged with the PVID VLAN.\nWhen these packets are routed through a different port netdev they\nshould egress untagged.\n\nThis wasn't a problem until now, as non-bridged traffic only originated\nfrom the CPU, which transmits packets out of the port as-is.\n\nWhen a vPort is created with VID 1 mark it as egress untagged.\n\nSigned-off-by: Ido Schimmel <idosch@mellanox.com>\nSigned-off-by: Jiri Pirko <jiri@mellanox.com>","distinct":true,"url":"https://api.github.com/repos/jpirko/linux_mlxsw/commits/5319dd47e8225d9ed8451c6d503d4eed204d2569"},{"sha":"cb1483b8f5bc27967ff82e1e64fe7c5a9087c489","author":{"name":"Ido Schimmel","email":"47f98fbd7c1ff0617d70d2ed262591cfebfa5379@mellanox.com"},"message":"mlxsw: spectrum: Remove VLANs configuration via SELF flag\n\nWhen port isn't bridged it is still possible to invoke switchdev ops and\nconfigure the device's VLAN filters.\n\nHowever, this will require us to use different Router InterFaces (RIFs)\nfor the same netdev, instead of one per-netdev as with any other\nconfiguration.\n\nTaking the above into account and the fact that this functionality is\nquestionable with regards to the device's normal use-case, remove it and\ninstead return an error.\n\nSigned-off-by: Ido Schimmel <idosch@mellanox.com>\nSigned-off-by: Jiri Pirko <jiri@mellanox.com>","distinct":true,"url":"https://api.github.com/repos/jpirko/linux_mlxsw/commits/cb1483b8f5bc27967ff82e1e64fe7c5a9087c489"},{"sha":"83973cb2b8af2563d40236a9fb102e52d04b052e","author":{"name":"Ido Schimmel","email":"47f98fbd7c1ff0617d70d2ed262591cfebfa5379@mellanox.com"},"message":"mlxsw: spectrum: Sync PVID vPort LAG status\n\nWhen VLAN devices are created on top of LAG, their underlying vPorts are\nconfigured correctly with LAG membership.\n\nHowever, the PVID vPort is implicit and already present when the port\nnetdev is put under LAG, so its LAG membership is never set. Set it\ncorrectly when joining / leaving LAG.\n\nThis didn't matter until now, but we are going to introduce support for\nrouter interfaces (RIFs), which need to take into account LAG membership.\n\nSigned-off-by: Ido Schimmel <idosch@mellanox.com>\nSigned-off-by: Jiri Pirko <jiri@mellanox.com>","distinct":true,"url":"https://api.github.com/repos/jpirko/linux_mlxsw/commits/83973cb2b8af2563d40236a9fb102e52d04b052e"},{"sha":"de838e3660e3d31a9a31d2d8cb3d551d512a4c08","author":{"name":"Ido Schimmel","email":"47f98fbd7c1ff0617d70d2ed262591cfebfa5379@mellanox.com"},"message":"mlxsw: spectrum: Remove RIF from PVID vPort when joining / leaving LAG\n\nWe are going to assign router interfaces (RIFs) to netdevs if an IPv4\naddress was assigned to them. If one was assigned to a port netdev, this\nwill translate to the PVID vPort being member in a RIF.\n\nWhile it's possible for a LAG slave to have an IP address, we can't have\na vPort being member in two FIDs (assuming the LAG device will be\nput in bridge / assigned an IP address).\n\nSolve that by making the PVID vPort leave any FID it might be a member\nin when joining / leaving LAG.\n\nNote that the PVID vPort is the only vPort that can be present on the\nport when it's put under LAG.\n\nSigned-off-by: Ido Schimmel <idosch@mellanox.com>\nSigned-off-by: Jiri Pirko <jiri@mellanox.com>","distinct":true,"url":"https://api.github.com/repos/jpirko/linux_mlxsw/commits/de838e3660e3d31a9a31d2d8cb3d551d512a4c08"},{"sha":"3d755b2c1c8d82d44d64504abf8292c5a1d593ac","author":{"name":"Ido Schimmel","email":"47f98fbd7c1ff0617d70d2ed262591cfebfa5379@mellanox.com"},"message":"mlxsw: reg: Add Router General Configuration Register\n\nAdd the Router General Configuration Register (RGCR), which allows us to\nenable the router in the device and configure its various parameters.\n\nSigned-off-by: Ido Schimmel <idosch@mellanox.com>\nSigned-off-by: Jiri Pirko <jiri@mellanox.com>","distinct":true,"url":"https://api.github.com/repos/jpirko/linux_mlxsw/commits/3d755b2c1c8d82d44d64504abf8292c5a1d593ac"},{"sha":"fe35ea339860b2ca456961e13ac5b2f1d0b6eebf","author":{"name":"Ido Schimmel","email":"47f98fbd7c1ff0617d70d2ed262591cfebfa5379@mellanox.com"},"message":"mlxsw: spectrum: Initialize ports at the end of init sequence\n\nDuring ports initialization a net device is registered for each\navailable port, which implies the port is usable. However, a port is\nonly usable after the different parts of the device (e.g. flooding,\nbuffers) are initialized. This is especially important now, when we must\ninitialize the router before the ports, as otherwise the device can't be\ninitialized.\n\nSolve that by initializing the switch ports at the end of init sequence.\n\nAlso, remove an unnecessary warning about port up/down events, which\nwould otherwise be invoked whenever removing the driver, as ports are\nremoved before unregistering the listener for these events.\n\nSigned-off-by: Ido Schimmel <idosch@mellanox.com>\nSigned-off-by: Jiri Pirko <jiri@mellanox.com>","distinct":true,"url":"https://api.github.com/repos/jpirko/linux_mlxsw/commits/fe35ea339860b2ca456961e13ac5b2f1d0b6eebf"},{"sha":"6a2555eba11a12ddbeb492bec8552306277b637c","author":{"name":"Ido Schimmel","email":"47f98fbd7c1ff0617d70d2ed262591cfebfa5379@mellanox.com"},"message":"mlxsw: spectrum_router: Add basic ipv4 router initialization\n\nCreate a skeleton router file and do basic HW initialization of router.\n\nSigned-off-by: Ido Schimmel <idosch@mellanox.com>\nSigned-off-by: Jiri Pirko <jiri@mellanox.com>","distinct":true,"url":"https://api.github.com/repos/jpirko/linux_mlxsw/commits/6a2555eba11a12ddbeb492bec8552306277b637c"},{"sha":"bb358ca401ee538b494b474a0fa07ca46f214641","author":{"name":"Ido Schimmel","email":"47f98fbd7c1ff0617d70d2ed262591cfebfa5379@mellanox.com"},"message":"mlxsw: spectrum: Add router interface struct\n\nWhen enabling the router in the device we will represent L3 netdevs\nusing router interfaces (RIFs). These will be specified whenever\nprogramming routes or neighbours on the netdev.\n\nIntroduce the basic RIF infrastructure which allows one to lookup a RIF\nby its netdev. Later patches in the series will extend this, but the\nbasic routines are needed now in order to direct traffic to CPU.\n\nPointers to the RIF structs are stored in an array indexed by the RIF's\nnumber. This will allow us to efficiently update the kernel's neighbour\ntable when regularly dumping the device's table.\n\nSigned-off-by: Ido Schimmel <idosch@mellanox.com>\nSigned-off-by: Jiri Pirko <jiri@mellanox.com>","distinct":true,"url":"https://api.github.com/repos/jpirko/linux_mlxsw/commits/bb358ca401ee538b494b474a0fa07ca46f214641"},{"sha":"6091d68c0a065dadbeb4ca42e697b3ddb5896d1c","author":{"name":"Ido Schimmel","email":"47f98fbd7c1ff0617d70d2ed262591cfebfa5379@mellanox.com"},"message":"mlxsw: reg: Add FDB action to forward to router\n\nIncoming packets are directed to the router when they match an FDB\nentry with action forward to IP router.\n\nAdd this action, which was mistakenly named \"TRAP\".\n\nSigned-off-by: Ido Schimmel <idosch@mellanox.com>\nSigned-off-by: Jiri Pirko <jiri@mellanox.com>","distinct":true,"url":"https://api.github.com/repos/jpirko/linux_mlxsw/commits/6091d68c0a065dadbeb4ca42e697b3ddb5896d1c"},{"sha":"faae798af54b78715110d914e511f9cf3ad8076d","author":{"name":"Ido Schimmel","email":"47f98fbd7c1ff0617d70d2ed262591cfebfa5379@mellanox.com"},"message":"mlxsw: reg: Add Router Interface Table Register\n\nAdd the Router Interface Table Register (RITR), which allows us to\ncreate and configure router interfaces (RIFs).\n\nSigned-off-by: Ido Schimmel <idosch@mellanox.com>\nSigned-off-by: Jiri Pirko <jiri@mellanox.com>","distinct":true,"url":"https://api.github.com/repos/jpirko/linux_mlxsw/commits/faae798af54b78715110d914e511f9cf3ad8076d"},{"sha":"3cab520717fbd851f1b56b205d3e68bdc105b37b","author":{"name":"Ido Schimmel","email":"47f98fbd7c1ff0617d70d2ed262591cfebfa5379@mellanox.com"},"message":"mlxsw: spectrum: Use action 'discard' when removing traps\n\nWhen removing packet traps we should use action 'discard' instead of\n'forward', as some trap IDs we'll add cannot be configured with the\nlater. However, result is the same, as packets are not trapped to the\nCPU.\n\nIn the future we will be able to reverse the operation properly by\ndetaching the trap group from the CPU.\n\nSigned-off-by: Ido Schimmel <idosch@mellanox.com>\nSigned-off-by: Jiri Pirko <jiri@mellanox.com>","distinct":true,"url":"https://api.github.com/repos/jpirko/linux_mlxsw/commits/3cab520717fbd851f1b56b205d3e68bdc105b37b"},{"sha":"8cdd1037a5ddb7fde7823dd733e6a6fe25524e3b","author":{"name":"Jiri Pirko","email":"a7e702c6c67814648a4f7569508b76ff202ca280@mellanox.com"},"message":"mlxsw: spectrum: Add traps needed for router implementation\n\nip2me:\nTo instruct HW to send trapped ip2me traffic to kernel, we have to add\nthis trap. Selection ip2me traffic is introduced later on in this set.\n\nARPs:\nWe are going to stop flooding to CPU port when netdev isn't bridged and\nonly get packets destined to the netdev's IP address and certain control\npackets.\n\nAdd traps for ARP request (broadcast) and response (unicast) in order to\nget these to the CPU and resolve neighbours.\n\nhost miss:\nIf a packet is routed through a directly connected route and its\ndestination IP is not in the device's neighbour table, then we need to\ntrap it to CPU. This will cause the host to resolve the MAC of the\nneighbour, which will be eventually programmed to the device's table.\n\nrouter ingress:\nIn order to trap packets in router part.\n\nSigned-off-by: Ido Schimmel <idosch@mellanox.com>\nSigned-off-by: Jiri Pirko <jiri@mellanox.com>","distinct":true,"url":"https://api.github.com/repos/jpirko/linux_mlxsw/commits/8cdd1037a5ddb7fde7823dd733e6a6fe25524e3b"},{"sha":"de542253f96502344ff82c21b2d9f7f01d0fc340","author":{"name":"Jiri Pirko","email":"a7e702c6c67814648a4f7569508b76ff202ca280@mellanox.com"},"message":"mlxsw: spectrum_router: Implement private fib\n\nShadow FIB is needed in order to hold additional information for FIB\nentries and keep track of used prefixes. That is needed for the LPM tree\nconstruction to be introduced later on in this set.\n\nSigned-off-by: Jiri Pirko <jiri@mellanox.com>\nReviewed-by: Ido Schimmel <idosch@mellanox.com>","distinct":true,"url":"https://api.github.com/repos/jpirko/linux_mlxsw/commits/de542253f96502344ff82c21b2d9f7f01d0fc340"},{"sha":"8833e33b3b658faaad3db93850569e33c6026cad","author":{"name":"Jiri Pirko","email":"a7e702c6c67814648a4f7569508b76ff202ca280@mellanox.com"},"message":"mlxsw: reg: Add Router Algorithmic LPM Tree Allocation Register definition\n\nRegister serves for allocation and deallocation of LPM search tree.\n\nSigned-off-by: Jiri Pirko <jiri@mellanox.com>\nReviewed-by: Ido Schimmel <idosch@mellanox.com>","distinct":true,"url":"https://api.github.com/repos/jpirko/linux_mlxsw/commits/8833e33b3b658faaad3db93850569e33c6026cad"},{"sha":"26e455caa13f4902791dae02acf71391712e7858","author":{"name":"Jiri Pirko","email":"a7e702c6c67814648a4f7569508b76ff202ca280@mellanox.com"},"message":"mlxsw: reg: Add Router Algorithmic LPM Structure Tree Register definition\n\nServes to build LPM tree structure.\n\nSigned-off-by: Jiri Pirko <jiri@mellanox.com>\nReviewed-by: Ido Schimmel <idosch@mellanox.com>","distinct":true,"url":"https://api.github.com/repos/jpirko/linux_mlxsw/commits/26e455caa13f4902791dae02acf71391712e7858"},{"sha":"c0a2e5ad56d4e43d67c2f5417083e3597fc4a23a","author":{"name":"Jiri Pirko","email":"a7e702c6c67814648a4f7569508b76ff202ca280@mellanox.com"},"message":"mlxsw: reg: Add Router Algorithmic LPM Tree Binding Register definition\n\nThis register is used to bind virtual router and protocol to an\nallocated LPM tree.\n\nSigned-off-by: Jiri Pirko <jiri@mellanox.com>\nReviewed-by: Ido Schimmel <idosch@mellanox.com>","distinct":true,"url":"https://api.github.com/repos/jpirko/linux_mlxsw/commits/c0a2e5ad56d4e43d67c2f5417083e3597fc4a23a"}]}
{"actor":{"display_login":"jpirko"}}