diff --git a/table/policy.go b/table/policy.go
index <HASH>..<HASH> 100644
--- a/table/policy.go
+++ b/table/policy.go
@@ -1100,6 +1100,16 @@ func NewExtCommunitySet(c config.ExtCommunitySet) (*ExtCommunitySet, error) {
 	}, nil
 }
 
+func (s *ExtCommunitySet) Append(arg DefinedSet) error {
+	err := s.regExpSet.Append(arg)
+	if err != nil {
+		return err
+	}
+	sList := arg.(*ExtCommunitySet).subtypeList
+	s.subtypeList = append(s.subtypeList, sList...)
+	return nil
+}
+
 type LargeCommunitySet struct {
 	regExpSet
 }
policy: avoid crash when getting ext-community