<!--- Verify first that your issue is not already reported on GitHub -->
<!--- Also test if the latest release and devel branch are affected too -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
<!--- Explain the problem briefly below -->
For the Replace and Override use case, where `secondary ip` is already configured on to the device but in override and replace operation user tries to configure only IP without setting any secondary IP in that case already existing IP was not entirely replaced/overridden coz the new IP mentioned in play was set but the `secondary ip` was also coming as configured.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->
iosxr_l3_interfaces

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
2.9
```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```paste below

```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->
iosxr

##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->
```
```
##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->
Without ISSUE `no ipv4 address` command fired for interface `GigabitEthernet0/0/0/1`
```
before:
    - name: Loopback888
    - name: Loopback999
    - ipv4:
      - address: 198.51.100.1 255.255.255.0
      ipv6:
      - address: 2001:db8::/32
      name: GigabitEthernet0/0/0/0
    - ipv4:
      - address: 192.0.2.1 255.255.255.0
      - address: 192.0.2.2 255.255.255.0
        secondary: true
      name: GigabitEthernet0/0/0/1

  commands:
    - "interface GigabitEthernet0/0/0/0"
    - "no ipv4 address"
    - "no ipv6 address"
    - "interface GigabitEthernet0/0/0/1"
    - "no ipv4 address"
    - "ipv4 address 198.51.102.1 255.255.255.0"
    - "ipv6 address 2001:db8:1::/64"

  after:
    - name: Loopback888
    - name: Loopback999
    - ipv4:
      - address: 198.51.102.1 255.255.255.0
      ipv6:
      - address: 2001:db8:1::/64
      name: GigabitEthernet0/0/0/1

```


##### ACTUAL RESULTS
<!--- Describe what actually happened. If possible run with extra verbosity (-vvvv) -->
With Override, ISSUE
```
before:
    - name: Loopback888
    - name: Loopback999
    - ipv4:
      - address: 198.51.100.1 255.255.255.0
      ipv6:
      - address: 2001:db8::/32
      name: GigabitEthernet0/0/0/0
    - ipv4:
      - address: 192.0.2.1 255.255.255.0
      - address: 192.0.2.2 255.255.255.0
        secondary: true
      name: GigabitEthernet0/0/0/1

  commands:
    - "interface GigabitEthernet0/0/0/0"
    - "no ipv4 address"
    - "no ipv6 address"
    - "interface GigabitEthernet0/0/0/1"
    - "ipv4 address 198.51.102.1 255.255.255.0"
    - "ipv6 address 2001:db8:1::/64"

  after:
    - name: Loopback888
    - name: Loopback999
    - ipv4:
      - address: 198.51.102.1 255.255.255.0
      - address: 192.0.2.2 255.255.255.0
        secondary: true
      ipv6:
      - address: 2001:db8:1::/64
      name: GigabitEthernet0/0/0/1
```

<!--- Paste verbatim command output between quotes -->
```paste below

```

result = {}
    if not isinstance(x, dict):
        return result
    for key, value in iteritems(x):
        if isinstance(value, dict):
            result.update(flatten_dict(value))
        else:
            result[key] = value
    return result
def dict_delete(base, comparable):
    """
    This function generates a dict containing key, value pairs for keys
    that are present in the `base` dict but not present in the `comparable`
    dict.
    :param base: dict object to base the diff on
    :param comparable: dict object to compare against base
    :returns: new dict object with key, value pairs that needs to be deleted.
    """
    to_delete = dict()
    for key in base:
        if isinstance(base[key], dict):
            sub_diff = dict_delete(base[key], comparable.get(key, {}))
            if sub_diff:
                to_delete[key] = sub_diff
        else:
            if key not in comparable:
                to_delete[key] = base[key]
    return to_delete
def pad_commands(commands, interface):