1. 30 Oct, 2020 1 commit
    • Rahul Thakur's avatar
      Fix Bug #3469: Kernel crash in macvlan scenario · 975686fe
      Rahul Thakur authored
      Turns out we were not using the broadcom recommended way for setting
      up macvlan interface, that support is added now.
      - No regression in any deployment
      - Test script that was failing since crash was observed now passes.
      - Couple of more config scenarios in which kernel crashed also stand
        resolved now.
  2. 29 Sep, 2020 1 commit
    • Rahul Thakur's avatar
      netifd: resolve regression on ex400 due to 8021ad name change · 4e9a9ab3
      Rahul Thakur authored
      Support for 8021ad interface with name ethx.y.z is restricted
      to broadcom platform having vlanconf for now. This resolves the
      regression on ex400 when both switch and device section are present
      and device section is used only to configure mac address on the
      pre-existing interface on the switch.
      - 8021ad interface with name ethx.y.z is supported on panther.
      - regression tests for all deployments on panther pass.
      - ssh and ping to ex400 is possible.
      - wan interface on ex400 can get the IP address from upstream
        dhcp server.
  3. 24 Sep, 2020 1 commit
    • Rahul Thakur's avatar
      fix Bug#3270: provider bridge residential domain deployment scenario · c5f82120
      Rahul Thakur authored
      Descriptions and cause
      During the implementation of the provider bridge deployment scenario,
      it came to light that netifd has an inherent restriction that the 8021ad
      vlan cannot be setup using the linux naming convention, that is, ethx.y.z
      This restriction stems from the initial implementation:
      I can understand that this restriction was introduced becuase netifd has
      ways on internally generating vlans in case the corresponding device section is
      not mentioned. So, if ethx.y is the ifname in the interface section and the
      corresponding device section with name ethx.y does not exist, it would
      create ethx.y. What is worth noting here is that at this junture, since the
      device section is not even consulted, netifd has no way of knowing the type
      of this vlan interface, hence, it assumes it to 8021q and sets up the vlans accordingly.
      If this same naming convention is used, then if ethx.y.z is ifname in interface section
      then ethx.y is created first and then ethx.y.z on top of ethx.y, however, since netifd
      does not consult the device section, it creates both vlans as 8021q.
      if device section for a vlan interface mentioned as ifname in interface
      section is present, then create vlan using the parameters mentioned
      in the corresponding device section. This should not break the traditional
      openwrt behaviour as well and hence, in my opinion is a more suited
      candidate to resolve bug #3270.
  4. 23 Sep, 2020 2 commits
  5. 11 Sep, 2020 1 commit
  6. 13 Aug, 2020 1 commit
  7. 05 Aug, 2020 2 commits
  8. 05 May, 2020 1 commit
    • Rahul Thakur's avatar
      netifd: update vlanconf for tvid · 67652d34
      Rahul Thakur authored
      Option to support vlan translation added to network uci file and
      hence netifd updated. In case its a broadcom chip, that is, if
      vlanconf is detected, then use this option to configure vlan
      Test via autotest and also manually (to verify the p-bit is not
      overwritten). Rest of the scenarios work as expected wih the
      existing conf so no regression
  9. 21 Mar, 2020 12 commits
  10. 05 Aug, 2019 1 commit
  11. 22 Jul, 2019 1 commit
  12. 14 Jun, 2019 1 commit
  13. 13 Jun, 2019 2 commits
  14. 08 Jun, 2019 1 commit
    • André Valentin's avatar
      netifd: add xfrm tunnel interface support · 8c6358b5
      André Valentin authored
      This adds support for xfrm interfaces. These interfaces can be used since
      linux 4.19 for IPsec traffic, like VTI interface.
      XFRM interfaces are less complicated compared to VTI because they need no IP
      tunnel endpoints.
  15. 27 May, 2019 1 commit
    • Hans Dedecker's avatar
      iprule: fix missing ip rules after a reload (FS#2296) · beb810db
      Hans Dedecker authored
      Since commit 5cf79759 (iprule: rework
      interface based rules to handle dynamic interfaces) the rule
      comparison is broken and doesn't correctly recognize matching rules.
      This in turn break the reloading as adding the "new" rule fails
      because it already exists and it then delete the "old" rule.
      The comparison is broken because it now include fields that are not
      defining the rule itself, as well as some pointer to malloced strings.
      To fix this we move back the offending fields in the iprule struct
      before the 'flags' field and match the malloced strings separately.
      Signed-off-by: default avatarAlban Bedel <albeu@free.fr>
      Signed-off-by: default avatarHans Dedecker <dedeckeh@gmail.com>
  16. 17 May, 2019 1 commit
    • Hans Dedecker's avatar
      interface-ip: use ptp address as well to find local address target · 22e8e589
      Hans Dedecker authored
      In case of tunnel over PPP(such as gretap over l2tp): tunnel interface
      use PPP's peer address as remote address, netifd script will call
      proto_add_host_dependency function, then netifd will search which device
      can reach to the remote address. Before the patch, netifd don't consider
      the PPP interface can reach to the remote address, so netifd will select
      default route to remote address, it will lead to remote address unreachable.
      Based on a patch by xiaofan <xfan1024@live.com>
      Signed-off-by: default avatarHans Dedecker <dedeckeh@gmail.com>
  17. 16 May, 2019 1 commit
  18. 08 May, 2019 1 commit
  19. 07 May, 2019 1 commit
  20. 15 Apr, 2019 2 commits
  21. 12 Apr, 2019 1 commit
  22. 01 Apr, 2019 2 commits
    • Hans Dedecker's avatar
      proto-shell: return error in case setup fails · 361b3e40
      Hans Dedecker authored
      In case PROTO_CMD_SETUP cannot be handled due to an invalid state; return
      -1 so the calling functions are aware the PROTO_CMD_SETUP has failed.
      Signed-off-by: default avatarHans Dedecker <dedeckeh@gmail.com>
    • Hans dedecker's avatar
      interface: set interface in TEARDOWN state when checking link state · a97297d8
      Hans dedecker authored
      When launching PROTO_CMD_TEARDOWN in interface_check_state() the interface
      was set in IFS_DOWN state. In case an interface is now brought into IFS_SETUP
      state in __interface_set_up() it will launch PROTO_CMD_SETUP trying to
      bring the proto shell handler in S_SETUP state which will fail as the proto
      shell handler is still in the S_TEARDOWN state.
      Fix this by setting the interface in IFS_TEARDOWN state when the PROTO_CMD_TEARDOWN
      event is launched which will prevent the interface being brought into IFS_SETUP state
      as long as it's not in the IFS_DOWN state.
      Signed-off-by: default avatarHans Dedecker <dedeckeh@gmail.com>
  23. 21 Mar, 2019 2 commits