armada: set prinary address support 20/41720/2
authorDamjan Marion <[email protected]>
Thu, 17 Oct 2024 14:52:08 +0000 (16:52 +0200)
committerMohammed HAWARI <[email protected]>
Wed, 23 Oct 2024 11:09:12 +0000 (11:09 +0000)
Type: improvement
Change-Id: I280cb3961ff4b18c6e02053c7526c19570add09d
Signed-off-by: Damjan Marion <[email protected]>
src/plugins/dev_armada/pp2/port.c

index a14e15b..a42432c 100644 (file)
@@ -211,6 +211,7 @@ mvpp2_port_cfg_change_validate (vlib_main_t *vm, vnet_dev_port_t *port,
   switch (req->type)
     {
     case VNET_DEV_PORT_CFG_PROMISC_MODE:
+    case VNET_DEV_PORT_CFG_CHANGE_PRIMARY_HW_ADDR:
     case VNET_DEV_PORT_CFG_ADD_SECONDARY_HW_ADDR:
     case VNET_DEV_PORT_CFG_REMOVE_SECONDARY_HW_ADDR:
       break;
@@ -246,6 +247,19 @@ mvpp2_port_cfg_change (vlib_main_t *vm, vnet_dev_port_t *port,
                   req->promisc);
       break;
 
+    case VNET_DEV_PORT_CFG_CHANGE_PRIMARY_HW_ADDR:
+      clib_memcpy (&addr, req->addr.eth_mac, sizeof (addr));
+      mrv = pp2_ppio_set_mac_addr (mp->ppio, addr);
+      if (mrv)
+       {
+         log_err (port->dev, "pp2_ppio_set_mac_addr: failed, rv %d", mrv);
+         rv = VNET_DEV_ERR_INTERNAL;
+       }
+      else
+       log_debug (port->dev, "pp2_ppio_set_mac_addr: %U added",
+                  format_ethernet_address, &addr);
+      break;
+
     case VNET_DEV_PORT_CFG_ADD_SECONDARY_HW_ADDR:
       clib_memcpy (&addr, req->addr.eth_mac, sizeof (addr));
       mrv = pp2_ppio_add_mac_addr (mp->ppio, addr);